| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 729 人关注过本帖
标题:listview刷新后,将行定位到刷新前的位置,为什么总会有几行偏差呢?
只看楼主 加入收藏
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
收藏
已结贴  问题点数:20 回复次数:1 
listview刷新后,将行定位到刷新前的位置,为什么总会有几行偏差呢?
listview刷新后,将行定位到刷新前的位置,为什么总会有几行偏差呢?

我的代码在下面,其中lvw2是listview的名称
    If lvw2.ListItems.Count >= 1 Then
        nSelect = lvw2.SelectedItem.Index
    Else
        nSelect = 0
    End If
    Call ShowDetail_fp(strdh)      '这是调用刷新表格的过程
    On Error Resume Next
    If lvw2.ListItems.Count >= 1 Then
        lvw2.ListItems(nSelect).EnsureVisible          'nSelect 为更新前选中的行
        lvw2.ListItems(nSelect).Selected = True
    End If

用这个代码可以基本实现,但是有一点小问题不太满意,就是刷新后,当前行的位置总与刷新前的位置差几行.
比如当前行如果不在表格的第一页的话(我的意思是滚动条不在最上方时),比如当前行为当前表格倒数第二行,但是刷新后,当前行变成倒数第一行了,即不管是倒数第几行,刷新后总是倒数第一行,当前行是可以显示在表格中(不会隐藏在后面),但是位置总有点偏差,这是为什么呢?这个可以解决吗?
搜索更多相关主题的帖子: listview 位置 总会 偏差 
2009-07-29 09:42
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:20 
确认刷新以后的Item数目比nSelect大?
2009-08-02 11:40
快速回复:listview刷新后,将行定位到刷新前的位置,为什么总会有几行偏差呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014344 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved