PDA

View Full Version : انتخاب کردن چند ردیف در دیتا گرید بوسیله چک باکس



m-alizadeh
شنبه 08 فروردین 1388, 08:05 صبح
با سلام
اگه توی دیتا گرید خود ستونی از نوع چک باکس داشته باشم چطور می تونم با تیک زدن چند تا از اون ها چند ردیف رو باهم انتخاب کنم و سپس با زدن دکمه حذف اون ردیف ها رو با هم پاک کنم(هم از توی دیتا گرید و هم از توی بانک اطلاعاتی)؟

shervin_agh67
شنبه 08 فروردین 1388, 08:45 صبح
for (int i = 0; i < dataGridView3.Rows.Count; i++)
{
if (Convert.ToBoolean(dataGridView3.CurrentRow.DataGr idView[3, i].Value) == true)
{
DELETE FROM DATABASE : dataGridView3.CurrentRow.DataGridView[1, i].Value
flag = true;
}
}

در این روش من ستون شماره 3 جدولم checkBox بود واسه همین تو دستور شرطی اشاره به ستون 3 می کنم . برای پاک کردن از دیتابیس هم کلید اون سطر رو به به یک تابعی که بر اساس کلید از بانک حذف میکنه ارسال کن (البته من به صورت شبه کد نوشتمش). و اگه از BindingSource استفاده کرده باشی جدولت خودش به روز میشه . البته حواست باشه تا وقتی که تمام سطرها در داخل حلقه بررسی می کنه جدولت رو به روز نکنی چون حالت انتخابی سطرها از بین میره .
البته این روش زمان زیادی میگیره ولی من همین روش به ذهنم رسید . الا اینکه در رویداد انتخاب شدن سطرها شماره ایندکس اونا رو ذخیره کنی تا مجبور نشی کل جدول رو پیمایش کنی .