如何将DataGridView定位到特定行(以便所选行位于底部)?

作为一个类似于这个问题的问题 ,我还有一个带有DataGridView的应用程序。 我想定位行,使特定行位于列表可见部分的底部。

这是响应按钮单击将行向下移动一行。 我想保持我正在移动的行上的选择(我已经有了这部分工作)。 如果有很多行,则所选行可能会移动到可见区域下方。 我想向下滚动,直到它位于可见区域的底部。

FirstDisplayedScrollingRowIndex似乎没有LastDisplayedScrollingRowIndex伴侣。

有任何想法吗? 谢谢。

正如我自己的猜测,我认为我需要使用FirstDisplayedScrollingRowIndex和DataGridView中可见的行数来计算新的FirstDisplayedScrollingRowIndex。 也许我只需要找出NumberOfVisibleRows属性被调用的内容?

找到了。 DisplayedRowCount:

if (dataGridView.FirstDisplayedScrollingRowIndex + dataGridView.DisplayedRowCount(false) <= selectedRowIndex) { dataGridView.FirstDisplayedScrollingRowIndex = selectedRowIndex - dataGridView.DisplayedRowCount(false) + 1; } 

代码测试并在我自己的项目中工作。

DisplayedRowCount方法将告诉您屏幕上显示的行数。 将参数值设置为true以包括部分行。

 var displayedRows = myDataGridView.DisplayedRowCount(false);