PDA

View Full Version : سوال: ویرایش رکوردهای گریدی که تعدادی فیلد bit داره



neda_dela
جمعه 13 فروردین 1389, 16:31 عصر
سلام دوستان:لبخندساده:
چطوری می تونم با انتخاب یه رکورد از گریدی که توش تعدادی فیلد از نوع bit داره رادیو باتن های پایین صفحه رو فعال یا غیر فعال کنم؟
مثلا فرض کنید یه ستون گرید من نشون میده که شخص مورد نظر دانشجو هست یا نه؟ و این رو با تیک داشتن یا نداشتن نشون میده.
حالا میخام وقتی این رکورد رو انتخاب کردم اگه فیلد دانشجو بودن توی گرید تیک خورده بود رادیو باتن 1 چک بخوره و اگه تیک نخورده بود رادیو باتن 2 چک بخوره چی کار کنم؟
مرسی:لبخندساده:

Reza_Yarahmadi
جمعه 13 فروردین 1389, 20:14 عصر
یکی از رادیو باتن ها رو با یکی از کدهای زیر بایند کن و برای رادیو باتن دیگه هم با توجه به اولی مقدارش رو معلوم کن.

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);
}

neda_dela
جمعه 13 فروردین 1389, 23:37 عصر
یکی از رادیو باتن ها رو با یکی از کدهای زیر بایند کن و برای رادیو باتن دیگه هم با توجه به اولی مقدارش رو معلوم کن.

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 موندم
با این دستور دوم شما که عمل کردم رکوردی رو که انتخاب می کنم اگه فیلد دانشجویی تیک حورده باشه رادیو باتنی چک می خوره که تکستش (خیر) هست در صورتی که باید اون یکی چک بخوره
ممنون که راهنمایی می کنین

Reza_Yarahmadi
جمعه 13 فروردین 1389, 23:52 عصر
به جای 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);
}