PDA

View Full Version : سوال: چگونگی حذف چند رکورد همزان در گرید



NasimBamdad
چهارشنبه 18 بهمن 1391, 16:13 عصر
سلام و خسته نباشید .

مدتی است درگیر این مسئله هستم که چه طوری میشه رکورد های گرید رو چند تایی حذف کرد

در حال حاظر با کلیک کردن روی یک رکورد از گرید و گرفتن ID اون جدول یک کوری DELETE اجرا می کنم .

چه طوری میشه چند تا رکورد انتخاب کرد و حذف کرد

شنیدم که باید در زمان انتخاب چند رکورد می بایست ID های اون رو در یک آرایه ریخت و با یک حلقه FOR اون رو حذف کرد

اما موندم که چه طوری این کار رو انجام بدم . آرایه و FOR رو در این مورد زیاد بلد نیستم .

میشه یکم کمک کنید ؟

khokhan
چهارشنبه 18 بهمن 1391, 19:05 عصر
درود بر شما

اگه منظور شما حذف چند ردیف از دیتا گرید باشه می تونید یک ستون چک باکس به گرید تون اضافه کنید

بعد با یک حلقه foreach ردیفهای تیک خورده رو حذف کنید



foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value == true)
{
// کد مربوط به حذف ردیفها رو اینجا می نویسین



}
}

morteza271
چهارشنبه 18 بهمن 1391, 19:12 عصر
سلام.
با کد زیر میتونید idهای سطرهای انتخاب شده رو در یه آرایه بریزین...

string[] strIds = new string[dataGridView1.SelectedRows.Count];
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
{
strIds[i] = dataGridView1.SelectedRows[i].Cells["id"].Value.ToString();
}

بعدش که دیگه هرکاری میتونید با این idها انجام بدین.

البته دقت کنید خاصیت MultiSelect از گریدتون حتما true باشه(با نگه داشتن کلید Ctrl میشه چند تا سطر رو همزمان انتخاب کرد)
موفق باشید

NasimBamdad
شنبه 21 بهمن 1391, 15:04 عصر
سلام.
با کد زیر میتونید idهای سطرهای انتخاب شده رو در یه آرایه بریزین...

string[] strIds = new string[dataGridView1.SelectedRows.Count];
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
{
strIds[i] = dataGridView1.SelectedRows[i].Cells["id"].Value.ToString();
}

بعدش که دیگه هرکاری میتونید با این idها انجام بدین.

البته دقت کنید خاصیت MultiSelect از گریدتون حتما true باشه(با نگه داشتن کلید Ctrl میشه چند تا سطر رو همزمان انتخاب کرد)
موفق باشید

مرسی . جواب داد و OK شد .

خیلی کد مفیدی بود .