我打农村来 发表于 2016-4-15 15:47:09

gridview数据刷新如何不移动滚动条位置

我做一个监控软件,页面底部是实时数据列表,gridview的数据源会定时更新。
更新是这样的:由于车辆列表固定,所以数据行数不变,变化的是车辆的位置等信息。
现在的问题是:由于数据定时更新,往往用户正在拉着滚动条查看某个车辆的数据,数据更新了,导致滚动条又回到最上面。
预期效果:数据更新只改变每一行的值,但是不要重置滚动条。

还请各位大神指教如何设置。


bingw001 发表于 2016-4-29 13:25:52

滚动条不动应该不行,提供一个思路:
可以每次刷新时记住toprow的位置,刷新后恢复定位

peter_jing 发表于 2016-5-7 14:15:38

bingw001 发表于 2016-4-29 13:25
滚动条不动应该不行,提供一个思路:
可以每次刷新时记住toprow的位置,刷新后恢复定位 ...

//禁止Paint刷新GridView控件
GridView1.BeginUpdate();
取得当前选中的rowHandle
//获得之前选择的行
int focusedRowHandle=Gridview1.FocusedRowHandle;

数据刷新

//选中数据刷新前的行
if (GridView1.IsValidateRowHandle(focusedRowHandle))
{
GridView1.focusedRowHandle=focusedRowHandle;
}
//恢复Paint刷新GridView控件
GridView1.EndUpdate();

dioliew 发表于 2016-5-14 22:06:30

如果是用winforms的gridview,可以用那叫RefreshHelperClass。
你就上DevExpress网页去参考。
页: [1]
查看完整版本: gridview数据刷新如何不移动滚动条位置