先来看个例子
DataGridView上下方向键定位
代码如下 | 复制代码 |
/// if (dgvCurrentRow != null) return dgv.Rows[currentRow].Cells[0]; if (e.KeyCode == Keys.Down)//向下方向键 if (dgvCurrentRow != null) return dgv.Rows[currentRow].Cells[0]; |
光标定位最后行的方法
定位行:
代码如下 | 复制代码 |
1.BindingSource.MoveLast(); 2.dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows. Count-1; |
定位单元格:
代码如下 | 复制代码 |
1.dataGridView1.FirstDisplayedCell = dataGridView1.Rows[xxx].Cells[0]; |
DataGridView 定位行的问题
添加,删除,查找之后希望 Grid定位到需要的行
代码如下 | 复制代码 |
Me.dgvPaper.Rows(i).Selected = True 设置能保证选中行, |
一旦找到了就定位到相应的位置,如果数据行很多的话,希望滚动条滚到相应的位置。
DataGridView控件有一个FirstDisplayedScrollingRowIndex属性,把需要定位的行index(N)赋值给这个属性之后,DataGridView的显示矩形区域内的第一行就是你说指定的行号了
代码如下 | 复制代码 |
Me.dgvPaper.FirstDisplayedScrollingRowIndex = i
|
有发现一个问题,
这样设置之后,取 CurrentRows 时候会出现和 Selected rows不同的行,
这样设置就没问题了
代码如下 | 复制代码 |
Me.dgvThing.CurrentCell = Me.dgvThing.Rows(i).Cells(0) |
并且滚动条也会自动的滚动,显示选中的行
省去了
代码如下 | 复制代码 |
'Me.dgvThing.Rows(0).Selected = False 'Me.dgvThing.Rows(i).Selected = True 'Me.dgvThing.FirstDisplayedScrollingRowIndex = i |