PDA

View Full Version : سوال: فاکوس روی ستون بعدی پس از درج دستی در Data Grid با زدن Enter



mz6488
پنج شنبه 17 مرداد 1392, 15:03 عصر
سلام.میخوام بعد اینکه کاربر یه مقدار به صورت دستی تو گرید وارد و کرد و کلید enter رو زد بره روی ستون بعدی از همون سطر فاکوس بشه.تو حالت عادی میره به سطر پایین از همون ستون.

hamid_hr
پنج شنبه 17 مرداد 1392, 15:09 عصر
اينو بايد تو رويداد keydown ديتا گريد بنويسي

int iColumn = dgv.CurrentCell.ColumnIndex;
string name = dgc.Columns[iColumn].Name;
if (e.KeyCode == Keys.Enter)
{
e.SuppressKeyPress = true;
dgv.CurrentCell = dgv[iColumn + tmp, iRow];
‍}

Amin69
پنج شنبه 17 مرداد 1392, 15:21 عصر
سلام.

if (e.KeyData == Keys.Enter)
{
dataGridView1[dataGridView1.CurrentCell.ColumnIndex + 1, dataGridView1.CurrentCell.RowIndex].Selected = true;
e.Handled = true;
}


یا علی

Amin69
پنج شنبه 17 مرداد 1392, 15:28 عصر
if (e.KeyData == Keys.Enter)
{
dataGridView1[dataGridView1.CurrentCell.ColumnIndex + 1, dataGridView1.CurrentCell.RowIndex].Selected = true;
e.Handled = true;
}



البته این شرط رو قبل از اجرای دستور selected بذار تا وقتی به ستون آخر رسید، ارور نده!

if (dataGridView1.CurrentCell.ColumnIndex + 1 < dataGridView1.Columns.Count)