我有一个由datatable填充的datagridview。其中的三列被设置为只读,所以它实际上就像一个带有list的弹出窗口。第一列用产品代码填充,第二列用Sku Name填充第三个用Mrp填充。并且Datagridview选择属性设置为FullRowSelect。我使用keypress事件来处理用户按下enter键的时候。但是这里的问题是currentrow移动到下一行,而不是停留在用户输入enter按钮的位置!!
所以我处理了这样的问题
private void dataGridView2_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
dataGridView2.CurrentCell = dataGridView2[0, dataGridView2.CurrentCell.RowIndex -1];
dataGridView2.CurrentRow.Selected = true;
}
}
但是当我选择最后一行时,它会选择第二行的第二行 请帮帮我..
我已经考虑过Cheating the DataGridView - CodeProject - The Code Project
了答案 0 :(得分:2)
试试这个
void dataGridView1_KeyDown(object.sender, KeyEventArgs e)
{
if (e.KeyCode == 13) 'Enter Key
{
this.dataGridView1.CurrentRow.Selected = true;
e.Handled = true;
}
}