PDA

View Full Version : سوال: تغییر خاصیت دکمه اینتر در GridView



perkas
جمعه 25 مرداد 1392, 23:17 عصر
سلام

میخوام وقتی اطلاعات رو تو گرید ویو وارد میکنم ==> بعد از زدن اینتر :

تو همه فیلدها بجز فیلد آخر به جای اینکه با اینتر به سطر بعد بره به فیلد بعدی بره ( کار tab رو انجام بده )
تو فیلد آخر وقتی اینتر رو زدیم یه دستور رو برامون اجرا کنه مثلا یه مسیج باکس باز کنه یا ....

Amin69
جمعه 01 شهریور 1392, 11:23 صبح
سلام . این دستورات رو در رویداد keydown مربوط به datagridview بنویسید if (e.KeyData == Keys.Enter) { if (dataGridView1.CurrentCell.ColumnIndex + 1 < dataGridView1.Columns.Count) { dataGridView1[dataGridView1.CurrentCell.ColumnIndex + 1, dataGridView1.CurrentCell.RowIndex].Selected = true; e.Handled = true; } } موفق باشید / یاعلی

perkas
جمعه 01 شهریور 1392, 12:03 عصر
سلام . این دستورات رو در رویداد keydown مربوط به datagridview بنویسید if (e.KeyData == Keys.Enter) { if (dataGridView1.CurrentCell.ColumnIndex + 1 < dataGridView1.Columns.Count) { dataGridView1[dataGridView1.CurrentCell.ColumnIndex + 1, dataGridView1.CurrentCell.RowIndex].Selected = true; e.Handled = true; } } موفق باشید / یاعلی

با زدن اینتر به فیلد بعدی میره ولی به فیلد آخر که رسید به رکورد بعدی نمیره و اگه تب رو بزنیم آی دی عددش بالا میره ظاهرا رکورد جدید رو ثبت میکنه ولی تو همون سطر اول نشونش میده و سطر جدید ایجاد نمیکنه

Mahmoud.Afrad
جمعه 01 شهریور 1392, 15:38 عصر
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
e.Handled = true;
int rowIndex = 0, columnIndex = 0;

if (dataGridView1.CurrentCell.ColumnIndex < dataGridView1.Columns.Count - 1)
{
rowIndex = dataGridView1.CurrentCell.RowIndex;
columnIndex = dataGridView1.CurrentCell.ColumnIndex + 1;
}
else
{
if (dataGridView1.CurrentCell.RowIndex < dataGridView1.Rows.Count - 1)
{
rowIndex = dataGridView1.CurrentCell.RowIndex + 1;
columnIndex = 0;
}
else
{
MessageBox.Show(@"Last cell");
rowIndex = dataGridView1.Rows.Count - 1;
columnIndex = dataGridView1.Columns.Count - 1;
}
}

dataGridView1.CurrentCell = dataGridView1.Rows[rowIndex].Cells[columnIndex];
}
}

تغییری خواستی بدی دیگه با خودت.