PDA

View Full Version : نمایش فیلدهای جدول داخل تکست باکس و ردیو اپشن



eniac_4
شنبه 24 دی 1390, 15:27 عصر
سلام دوستان من روی یه پروژه ازمون گیر کار میکنم ومشکلم تو قسمت ازمون هستش

نمیدونم چجوری باد فیلدهای سوال رو از جدول تو تکست باکس نمایش بدم یا لیبل و کنترل های متنی
مثلا جدول سوالات من از 7 تا فیلد تشکیل شده: کد سوال -متن سوال - گزینه اول-گزینه دوم- گزینه سوم-گزینه چهارم-گزینه صحیح
حالا باید تو قسمت ازمون تو یه تکست باکس یا لیبل متن سوال رو نمایش بدم
و تو چهار تا ردیو اپشن گزینه های یک تا چهار رو

از sql , visual stduo2010 استفاده میکنم
ممنون میشم کسی بتونه راهنماییم کنه فرصتم خیلی کمه باید 28 پروژه ام رو تحویل بدم :افسرده:

Sirwan Afifi
شنبه 24 دی 1390, 16:08 عصر
TextBox1.Text=dt.Rows[0]["name"].ToString();

به نظر من بهتره جدول سوال و جواب به صورت مجزا باشن.(استانداردتره)،خلاصه روی طراحی جداول یه کم دیگه کار کن.

shadi khanum
شنبه 24 دی 1390, 18:34 عصر
ببین واسه این کار بهتره شما اول یه usercontrol درست کنی مثلا به اسم MyQuestion که توش یه label داره که قرار متن سوال توش نشون داده بشه و 4 تا radio button که 4 گزینه رو توش نشون بدی.
بعد واسه usercontrol یه property از نوع datarow درست کن و تو قسمت Set اون پراپرتی ..

private DataRow _QuestionDataRow = null;
public DataRow QuestionDataRow
{
get
{
return _QuestionDataRow;
}

set
{
_QuestionDataRow = value;
lbl_question.text = _QuestionDataRow["question_text"];
Rdo1.text = _QuestionDataRow["first"];
Rdo2.text = _QuestionDataRow["second"];
Rdo3.text = _QuestionDataRow["third"];
Rdo4.text = _QuestionDataRow["forth"];

}
}


حالا تو فرم اصلی که قرار سوالای آزمون رو نشون بدی، مثلا تو لود فرم اول تموم رکوردای اون جدول سوالات رو تو یه جدول fill کن، مثلاDT . حالا :
foreach (DataRow item in dt.Rows)
{
MyQuestion mq = new MyQuestion();
mq.QuestionDataRow = item;
mq.top = value1;
mq.left = value2;
this.Controls.Add(mq);
}

eniac_4
شنبه 24 دی 1390, 22:03 عصر
سیروان جان سوال ها رو تو برنامه کاربر ادمین طرح میکنه و وقتی ثبت میکنه تو یه جدول ثبت میشه چون برای نمره دادن یا تست صحیح یا نا صحیح بودن جواب گزینه ها و عنوان از طریق کد سوال مورد مقایسه قرار میگیره اگه دوتا جدول باشه نمیشه یا اگرم بشه خیلی پیچیده میشه


TextBox1.Text=dt.Rows[0]["name"].ToString();

به نظر من بهتره جدول سوال و جواب به صورت مجزا باشن.(استانداردتره)،خلاصه روی طراحی جداول یه کم دیگه کار کن.

eniac_4
شنبه 24 دی 1390, 22:04 عصر
میشه بیشتر توضیح بدین من تازه کارم ممنون میشم



ببین واسه این کار بهتره شما اول یه usercontrol درست کنی مثلا به اسم MyQuestion که توش یه label داره که قرار متن سوال توش نشون داده بشه و 4 تا radio button که 4 گزینه رو توش نشون بدی.
بعد واسه usercontrol یه property از نوع datarow درست کن و تو قسمت Set اون پراپرتی ..

private DataRow _QuestionDataRow = null;
public DataRow QuestionDataRow
{
get
{
return _QuestionDataRow;
}

set
{
_QuestionDataRow = value;
lbl_question.text = _QuestionDataRow["question_text"];
Rdo1.text = _QuestionDataRow["first"];
Rdo2.text = _QuestionDataRow["second"];
Rdo3.text = _QuestionDataRow["third"];
Rdo4.text = _QuestionDataRow["forth"];

}
}


حالا تو فرم اصلی که قرار سوالای آزمون رو نشون بدی، مثلا تو لود فرم اول تموم رکوردای اون جدول سوالات رو تو یه جدول fill کن، مثلاDT . حالا :
foreach (DataRow item in dt.Rows)
{
MyQuestion mq = new MyQuestion();
mq.QuestionDataRow = item;
mq.top = value1;
mq.left = value2;
this.Controls.Add(mq);
}

shadi khanum
شنبه 24 دی 1390, 23:33 عصر
من این چیزی که گفتم رو تو یه Sample واست نوشتم.
موفق باشی