PDA

View Full Version : سوال: شرط برای سلکت کردن DataGrid



arash ghafori
سه شنبه 16 خرداد 1391, 18:10 عصر
با سلام .
من یه دکمه ی Remove دارم . اینجوری کار میکنه که اگه طرف اومد یه سطرو از دیتا گرید انتخاب کرد و روی دکمه ی Remove کلیک کرد میاد ID اون سطر انتخاب شده رو روی تکت باکسش نمایش میده مثل شکل زیر :

87918

حالا اگه من سطری رو از دیتا گرید انتخاب نکرده باشم ارور میده. حقم داره خوب !

من چجوری براش شرط بزارم تا اگه طرف سطری رو انتخاب نکرده بود بیاد یه مسیج بده ؟

ممنون.

hhsaffar
سه شنبه 16 خرداد 1391, 19:15 عصر
سلام

dataGridView1.SelectedRows.Count

تعداد سطرهای انتخاب شده رو بر میگردونه. با استفاده از این مثلا میتونید چک کنید که فقط اگر برابر یک باشه دیالوگ remove بیاد و در غیر این صورت پیغام خطا نشون بدید.

arash ghafori
سه شنبه 16 خرداد 1391, 20:02 عصر
ممنون.
اما دوست عزیز شما حرف من رو بد متوجه شدید.

من میگم اگه هیچ ردیفی انتخاب نشده باشه ، دکمه ی Remove من Enable = false بشاشه.
یعنی تا وقتی طرف روی یه ردیف کلیک نکرده ، دکمه ی Remove من Enable = True نشه.

behzadkhatari
سه شنبه 16 خرداد 1391, 20:09 عصر
خوب کافیه در زمان لود برنامه دکمه remove رو غیر فعال کنید و وقتی که رو datagrid کلید کرد دوباره فعالش کنید خیلی سادست

hhsaffar
سه شنبه 16 خرداد 1391, 20:26 عصر
یه راه میتونه این باشه که از رویداد SelectionChanged استفاده کنید و برای اون رویداد هندلری شبیه این بنویسید:

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count == 1)
btnRemove.Enabled = true;
else
btnRemove.Enabled = false;
}

البته همونطور که behzadkhatari گفت باید در ابتدا دکمه remove رو غیر فعال کنید.