您的位置:首页 > 编程语言 > C#

C# :DataGridView重新绑定时保持上次滚动位置

2009-12-08 16:09 323 查看
DataGridView虽然有VerticalScrollBar属性, 但却是受保护的对象, 无法外部访问, 看了一下DataGridView的各项属性, 发现FirstDisplayedScrollingRowIndex就是滚动条的Value, DataGridView的行高乘以FirstDisplayedScrollingRowIndex就是客户区高度.

以下是有关垂直滚动条的示例:
int _ScrollValue = 0;

private void dgvVehicles_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
_ScrollValue = e.NewValue;
}
}

private void BindData()
{
// 设置数据源
...
if (dgvVehicles.Rows.Count > _ScrollValue)
dgvVehicles.FirstDisplayedScrollingRowIndex = _ScrollValue;
}

另有一种做法是设置CurrentCell, 设置该值会使DataGridView跳到该单元格所在行. 方法就是遍历各行找出那个具有唯一性的Cell, 设为当前单元格.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: