PDA

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



Sal_64
پنج شنبه 12 دی 1387, 22:26 عصر
سلام

برای یک ستون از دیتاگرید ویو که با کد نویسی یک ستون از نوع چک باکس ساختم

قصد دارم برای اولین سلول این ستون ایونت select_change تعریف کنم

با رویداد cellmouse_clik خود دیتاگرید میشه بررسی کرد که آیا در سلول مورد نظر کلیک انجام میشه یا نه



اما باقیش چی

به دلیل اینکه در تمام سلول رویداد cellmouse_click عمل میکنه نمیشه به درستی متوجه True/False بودن مقدار چک باکس شد



دوستان راهی وجود داره ؟

مثه fill کردن چک باکس درون سلول و یا ....



با تشکر

h.jaza
جمعه 13 دی 1387, 14:46 عصر
چرا با کد نویسی این کار و انجام دادی؟

خوده دیتا گرید ویو که این امکان رو داره که بتونی یه سلول رو از نوع چک باکس قرار بدی.

و برای چکشم دیگه خیلی سادس، راحت چک می کنی که چک شده یا نه؟

Sal_64
جمعه 13 دی 1387, 15:48 عصر
سلام


خوده دیتا گرید ویو که این امکان رو داره که بتونی یه سلول رو از نوع چک باکس قرار بدی.درسته

اما بعد از fill کردن دیتاگرید ویو می بایست این ستون اضافه شه
و بعد از اون اگه کاربر اولین ستون چک باکس رو تیک زد باید باقی ردیف ها نیز تیک بخورن و ...

اول سعی کردم که در هدر اون ستون یه چک باکس قرار بدم که با نمونه کد یکی از دوستان اینکار رو کردم ، اما برای اسکرول(افقی) اون فکری نشده بود
البته می دونم کلی کامپوننت سفارشی شده برای دیتاگرید هم وجود داره
اما نمی خوام از اونها استفاده کنم

خب با توضیحات بالا چه نظری دارید؟؟

با تشکر

h.jaza
جمعه 13 دی 1387, 16:04 عصر
اما بعد از fill کردن دیتاگرید ویو می بایست این ستون اضافه شهخوب، مشکلش کجاس؟

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


ویرایش شده

جواب پست 5:

Sal_64 جان، من که متوجه نشدم هدفت از این کد چی بود.

این چه ارتباطی به سوالت داشت؟

Sal_64
جمعه 13 دی 1387, 18:39 عصر
سلام

آقا این نمونه کد رو ببینید
شاید اینطور منظورم رو واضحتر متوجه شین


private void dgv_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{

bool bValue = false;
if (e.RowIndex == 0)
if (e.ColumnIndex == dgv.Columns["return_select"].Index)
{

MessageBox.Show(Convert.ToBoolean(dgv.Rows[0].Cells["return_select"].Value).ToString());
// if (bValue = Convert.ToBoolean(dgv.Rows[0].Cells["return_select"].Value) == true)
// MessageBox.Show("now True");

}
}خب حالا اگر در سلول اول کلیک کنید (در تمام سلول : چک باکس و فضای خالی اطراف) مقدار False رو برمی گردونه
این امکان وجود داره که عرض ستون رو به انداره چک باکس کم کرد(ظاهر نامناسب ایجاد می کند) اما امکان تغییر ارتفاع ستون به دلیل وجود متن در باقی ستونها وجود نداره (ناخوانا شدن باقی ستونها)

امیدوارم سوال واضحتر شده باشه

نظر شما چیه ؟؟؟


با تشکر