本文介绍了一个简单的.NET桌面应用程序中用于定位DataGridView中当前选中行的方法。通过保存选中行的索引和其在可视区域的位置,可以实现滚动条滚动前后选中行位置的保持不变。
csharp
/// <summary>
/// 显示当前选中行
/// </summary>
private void ShowCurrentRows()
{
for (int i = 0; i < dgv_list.Rows.Count; i++)
{
if (dgv_list.Rows[i].Selected == true)
{
RowsIndex = i; //记录当前选中行
FirstDisplayedScrollingRowIndex = dgv_list.FirstDisplayedScrollingRowIndex; //记录当前选中行所在可视范围首行
break;
}
}
}
if (dgv_list.Rows.Count > 0)
{
try
{
dgv_list.Rows[RowsIndex].Selected = true;
dgv_list.FirstDisplayedScrollingRowIndex = FirstDisplayedScrollingRowIndex;
}
catch
{
dgv_list.FirstDisplayedScrollingRowIndex = 0;
dgv_list.Rows[0].Selected = true;
}
}