من یه دیتاگرید ویو دارم و می خوام اگر کاربر با کیبرد بین رکوردها جابجا می شه بتونم اینو بفهمم .... تو این حالت چه تابعی اجرا میشه؟؟؟؟
من یه دیتاگرید ویو دارم و می خوام اگر کاربر با کیبرد بین رکوردها جابجا می شه بتونم اینو بفهمم .... تو این حالت چه تابعی اجرا میشه؟؟؟؟
از رویداد CellEnter کنترل دیتاگرید ویو می تونی استفاده کنی. ایندکس ردیف انتخاب شده را نیز می تونی با استفاده از حلقه for بدست بیاری.
برای گرفتن هر سلولبرای گرفتن هر ردیف در کدهای بالا SelectedCells را به SelectedRow و همچنین SelectedColumns می توانی تغییر بدهی. زمانی که کل ردیف قابل انتخاب باشد ردیف انتخاب شده بهتر است تا پردازش شود اما زمانیکه کاربر در هر ردیف قادر به انتخاب سلول ها بصورت جداگانه باشد از سلول های انتخاب شده استفاده کنید. در کدها مراقب انتخاب چند ردیف یا چند سلول توسط کلیک موس باشید که ممکن است منجر به ایجاد خطا شود. چون کلیلک موس هم منجر به فعال شدن این رویداد می شود.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by anvar.net; 23-04-2013 at 17:53.
سلام
رویداد مخصوص کار با کیبورد
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
OK
این رویداد خیلی بهتره, با این شرط که : 1) هیدر ردیف ها نشون داده بشه. 2 ) حالت سلکت ردیف بر روی FullRowSelect ست شده باشه.
با این دستور هم می تونی مقدار ستون دوم از ردیف انتخاب شده رو بگیری . برای سایر ستون ها هم می تونی ایندکس رو عوض کنیprivatevoid dataGridView1_SelectionChanged(object sender, EventArgs e)
{
DataGridView myDataGridView = sender asDataGridView;
if (myDataGridView != null && myDataGridView.SelectedRows.Count > 0)
{
DataGridViewRow drow = myDataGridView.SelectedRows[0];
if (drow != null)
{
label1.Text = drow.Index.ToString();
}
}
}
label2.Text = drow.Cells[2].Value.ToString();
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)