在其他dataGridView中按下箭头键时,更改一个dataGridView中的行

时间:2015-05-22 07:08:02

标签: c# datagridview

我遇到了问题: 我的表单MAIN和SUB上有两个DataGridView,如果MAIN DataGridView单元格处于编辑模式并且用户按下向下箭头而不是下到下一行,现在就是我想要做的在MAIN DataGridView中,它应该跳到SUB DataGridView

中的下一行

我通过处理EditingControlShowingPreviewKeyDown上创建了一个事件,但只有在MAIN DataGridView中有一行或者我在MAIN dataGridView的最后一行时它才有效但是如果MAIN DataGridView中有多行,如果我按向上箭头向下箭头,它只会在MAIN DataGridView行中移动。

我试图在DataGridView peviewKey控制它,但是箭头键没有在那里注册,箭头键没有在DataGridView KeyDown注册,{在编辑模式下{1}}

它们在keypress的密钥注册时注册,但此时它会在两个dataGridViews中向下或向上移动行做两件事

我想要的是,如果MAIN DataGridView单元格在editmode中并按下向上或向下箭头键,那么它只会更改SUB DataGridView中不在主DataGridView

任何想法!

2 个答案:

答案 0 :(得分:0)

您是否尝试过以编程方式选择子dataGridView中的行?您可以尝试在Main PreviewKeyDown事件触发时获取子网格中所选行的索引,然后选择下一个子dataGridView行,例如:

subDataGridView.Rows(index).Selected = False
subDataGridView.Rows(index + 1).Selected = True

或者

subDataGridView.CurrentCell = DataGridView1.Rows(index + 1).Cells(0);

答案 1 :(得分:0)

通过覆盖" dataGridView"解决问题。并在此处创建自定义列找到解决方案: enter link description here 工作就像一个魅力。