PDA

View Full Version : حذف چند سطر datagrid با توجه به سلول و یا سطر انتخابی



مهیار.
سه شنبه 29 دی 1394, 16:47 عصر
با سلام
سوال اولم اینه اولا ایا میشه فهمید در حال حاضر سطر ها انتخاب شده یا یک سلول در گرید
سوال بعدم این حالا چطوری باید حذف کنم اون هایی که انتخاب شدند رو که ارور نده
چون وقتی مثلا من سطری که ستون دومش در گرید رو حذف میکنم و چون مثلا ستون سوم هم همزمان انتخاب شده وقتی میخواد برا اساس ستون سوم همان سطر رو حذف کنه اروو میده !
ممنون

amin8505
سه شنبه 29 دی 1394, 19:17 عصر
با استفاده از این ذستور می تونی سطرهایی رو که انتخاب شده حذف کنی

foreach (DataGridViewRow dr in dataGridView1.SelectedRows)
{
dataGridView1.Rows.Remove(dr);
}

مهیار.
سه شنبه 29 دی 1394, 19:35 عصر
راستش مشکل من جایی دیگست مثلا فرض کنید کاربر بصورت زیر سلول هایی از گرید ویو رو انتخاب کرده حال با کد زیر میاد اول سطر که مربوط به سلول 1 هست حذف میکنه بعد سطر دوم که مربوط هست به سلول 2 تا اینجا مشکلی نیست! ولی زمانی که میخواد سطری که مربوط است به سلول 3 رو جذف کنه اصلا نه سلول 3 ای وجود داره!! نه سطری که مربوط به سلول 3 هست!! اینجاست که اروو ایجاد میشه

138507


foreach (DataGridViewCell Cell in dataGridView1.SelectedCells) {
{
dataGridView1.Rows.RemoveAt(Cell.RowIndex);
}
}

Mahmoud Zaad
سه شنبه 29 دی 1394, 19:50 عصر
سلام
یک شرط بذارید داخل حلقه که اگه ردیف null نبود حذف انجام بشه:
if(dataGridView1.Rows[Cell.RowIndex] !=null)
...

مهیار.
سه شنبه 29 دی 1394, 20:01 عصر
سلام
یک شرط بذارید داخل حلقه که اگه ردیف null نبود حذف انجام بشه:
if(dataGridView1.Rows[Cell.RowIndex] !=null)
...
سلام ممنون من این کد زدم ولی باز اروو

138509

Mahmoud Zaad
سه شنبه 29 دی 1394, 20:20 عصر
کد زیر رو رو تست کنید:

foreach (DataGridViewCell Cell in dataGridView1.SelectedCells)
{
if (Cell.RowIndex != -1)
{
dataGridView1.Rows.RemoveAt(Cell.RowIndex);
}
}

مهیار.
سه شنبه 29 دی 1394, 20:28 عصر
مرسی ممنون
واقعا عالی بود ............
مرررررررررسیییییی.....
.......