开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 5193|回复: 3

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

[复制链接]

0

精华

0

贡献

0

赞扬

帖子
2
软币
73
在线时间
4 小时
注册时间
2016-4-6
发表于 2016-4-15 15:47:09 | 显示全部楼层 |阅读模式
我做一个监控软件,页面底部是实时数据列表,gridview的数据源会定时更新。
更新是这样的:由于车辆列表固定,所以数据行数不变,变化的是车辆的位置等信息。
现在的问题是:由于数据定时更新,往往用户正在拉着滚动条查看某个车辆的数据,数据更新了,导致滚动条又回到最上面。
预期效果:数据更新只改变每一行的值,但是不要重置滚动条。

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


数据列表.png
回复

使用道具 举报

0

精华

129

贡献

62

赞扬

帖子
247
软币
1826
在线时间
194 小时
注册时间
2014-5-13
发表于 2016-4-29 13:25:52 | 显示全部楼层
滚动条不动应该不行,提供一个思路:
可以每次刷新时记住toprow的位置,刷新后恢复定位
回复

使用道具 举报

0

精华

0

贡献

498

赞扬

帖子
254
软币
6180
在线时间
654 小时
注册时间
2013-6-8
发表于 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();
回复

使用道具 举报

0

精华

0

贡献

12

赞扬

帖子
35
软币
326
在线时间
33 小时
注册时间
2013-10-1
发表于 2016-5-14 22:06:30 | 显示全部楼层
如果是用winforms的gridview,可以用那叫RefreshHelperClass。
你就上DevExpress网页去参考。
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-23 06:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表