PDA

View Full Version : سوال: CheckedBox In DataGridView



b0mrang
جمعه 27 آذر 1394, 11:40 صبح
با سلام خدمت همه ی دوستان،یه سوال دارم ممنون میشم اگه بتونین کمکم کنین:

من توو یه دیتا گرید یه چک باکس گذاشتم،میخوام وقتی که اون cell تیک میخوره یه سری کار انجام بدم،این کارا رو هم توو رخداد cell content click نوشتم

مشکلی که هست اینه که وقتی یه سلول چک باکسم رو کلیک مینم و تیک دار میشه اگه رو همون سل دوباره کلیک کنم ،تیک برداشته میشه ولی اگه روی چک باکسِ یه Row دیگه کلیک کنم دوباره

همون چگ باکسِ ردیف قبلیِ هم تیک دار میشه!!! چیکار باید کنم که این اتفاق نیوفته!

محمد رضا فاتحی
یک شنبه 29 آذر 1394, 07:55 صبح
سلام دوست عزیز...
ایطوری که نمی شه کمک کرد... حداقل یه تکه از کدت بخصوص قسمت رویداد رو بزار تا بشه راهنمایی کرد..

khokhan
یک شنبه 29 آذر 1394, 19:56 عصر
با سلام خدمت همه ی دوستان،یه سوال دارم ممنون میشم اگه بتونین کمکم کنین:

من توو یه دیتا گرید یه چک باکس گذاشتم،میخوام وقتی که اون cell تیک میخوره یه سری کار انجام بدم،این کارا رو هم توو رخداد cell content click نوشتم

مشکلی که هست اینه که وقتی یه سلول چک باکسم رو کلیک مینم و تیک دار میشه اگه رو همون سل دوباره کلیک کنم ،تیک برداشته میشه ولی اگه روی چک باکسِ یه Row دیگه کلیک کنم دوباره

همون چگ باکسِ ردیف قبلیِ هم تیک دار میشه!!! چیکار باید کنم که این اتفاق نیوفته!

بایستی کاری کنی تا عملکرد چک باکس شبیه عملکرد "رادیو باتن " بشه راههای زیادی هم برای این کار وجود داره اما ساده ترینش اینه که :
در رویداد CellContentClick گریدتون ، ابتدا تمام انتخابها رو پاک کنین بعد ردیف مورد اشاره رو تیک بزنین :


private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//پاک کردن انتخابها
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Cells["Select"].Value = false;
}

//انتخاب مجدد
dataGridView1.CurrentRow.Cells["Select"].Value = true;
}

b0mrang
دوشنبه 30 آذر 1394, 08:52 صبح
بایستی کاری کنی تا عملکرد چک باکس شبیه عملکرد "رادیو باتن " بشه راههای زیادی هم برای این کار وجود داره اما ساده ترینش اینه که :
در رویداد CellContentClick گریدتون ، ابتدا تمام انتخابها رو پاک کنین بعد ردیف مورد اشاره رو تیک بزنین :


private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//پاک کردن انتخابها
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Cells["Select"].Value = false;
}

//انتخاب مجدد
dataGridView1.CurrentRow.Cells["Select"].Value = true;
}


ممنون از راهنماییتون ولی من نمیخوام عملکرد چک باکسم مثلِ رادیوباتن باشه،میخوام کاربر بتونه چند تا ردیف رو انتخاب کنه :اشتباه::اشتباه::اشتباه: