I have a DataGridView(DGV) control in my winform. The DGV has 4 columns. First 2 columns are of Combobox type and the rest 2 are of Textbox type.When i press Enter key in any cell, then it moves on to the next cell.While at the last cell if Enter is pressed then a new row is created and the focus moves on the first column of the second row.And i want it to always behave in that manner.My problem begins when i set 'Enable Editing'=true.With enable editing=true, whenever i select any item from combobox in the first column, an unnecessary New row is created.I don't want a new row to be created at this point.Please advise how to avoid this.
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
int col = dataGridView1.CurrentCell.ColumnIndex;
int row = dataGridView1.CurrentCell.RowIndex;
if (col < dataGridView1.ColumnCount - 1)
{
col++;
}
else
{
col = 0;
row++;
}
if (row == dataGridView1.RowCount)
dataGridView1.Rows.Add();
dataGridView1.CurrentCell = dataGridView1[col, row];
e.Handled = true;
}
}