ویرایش رکوردهای گریدی که تعدادی فیلد bit داره
سلام دوستان:لبخندساده:
چطوری می تونم با انتخاب یه رکورد از گریدی که توش تعدادی فیلد از نوع bit داره رادیو باتن های پایین صفحه رو فعال یا غیر فعال کنم؟
مثلا فرض کنید یه ستون گرید من نشون میده که شخص مورد نظر دانشجو هست یا نه؟ و این رو با تیک داشتن یا نداشتن نشون میده.
حالا میخام وقتی این رکورد رو انتخاب کردم اگه فیلد دانشجو بودن توی گرید تیک خورده بود رادیو باتن 1 چک بخوره و اگه تیک نخورده بود رادیو باتن 2 چک بخوره چی کار کنم؟
مرسی:لبخندساده:
نقل قول: ویرایش رکوردهای گریدی که تعدادی فیلد bit داره
یکی از رادیو باتن ها رو با یکی از کدهای زیر بایند کن و برای رادیو باتن دیگه هم با توجه به اولی مقدارش رو معلوم کن.
radioButton1.DataBindings.Add("Checked", ds.Tables[0], "Field3");
//OR
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
radioButton2.Checked = (bool)(dataGridView1.CurrentRow.Cells[2].Value);
}
نقل قول: ویرایش رکوردهای گریدی که تعدادی فیلد bit داره
نقل قول:
نوشته شده توسط
Reza_Yarahmadi
یکی از رادیو باتن ها رو با یکی از کدهای زیر بایند کن و برای رادیو باتن دیگه هم با توجه به اولی مقدارش رو معلوم کن.
radioButton1.DataBindings.Add("Checked", ds.Tables[0], "Field3");
//OR
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
radioButton2.Checked = (bool)(dataGridView1.CurrentRow.Cells[2].Value);
}
ممنون دوست عزیز
روش اول رو که یه کم گیج شدم منظور از ds و field3 و table[0] و رو نفهمیدم
روش دوم عملی بود ولی نه برای هدف من
من توی گریدم یه ستون دارم برای اینکه تعیین کنه شخص دانشجو هست یا نه؟
اگه تیک داشته باشه یعنی هست و اگه نه یعنی نیست
توی همین فرمم هم دو تا رادیو باتن دارم که با انتخاب رکورد مورد نظر اگه اون فیلد تیک داشته باشه rb1 چک بخوره و اگه تیک نداشته باشه rb2 چک بخوره
به عبارتی من برای if موندم
با این دستور دوم شما که عمل کردم رکوردی رو که انتخاب می کنم اگه فیلد دانشجویی تیک حورده باشه رادیو باتنی چک می خوره که تکستش (خیر) هست در صورتی که باید اون یکی چک بخوره
ممنون که راهنمایی می کنین
نقل قول: ویرایش رکوردهای گریدی که تعدادی فیلد bit داره
به جای ds اسمی که برای DataSet انتخاب کردید رو بذارید.
[Tables[0 یکی از خاصیتهای DataSet به شمار میاد.
Field3 اسم فیلدی که توی بانک از نوع bit تعیین کردید.
نقل قول:
به عبارتی من برای if موندم
من منظورتون رو متوجه نشدم، کدهای کامل دو روش رو میذارم اگه بازم مشکلی بود بگید.
روش اول:
radioButton1.DataBindings.Add("Checked", ds.Tables[0], "FieldName");
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
radioButton2.Checked = !radioButton1.Checked;
}
روش دوم:
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
radioButton1.Checked = (bool)(dataGridView1.CurrentRow.Cells[2].Value);
radioButton2.Checked = !(bool)(dataGridView1.CurrentRow.Cells[2].Value);
}