ListView的跳转问题+100

xxyping 2009-01-05 04:31:20
今天碰到一个问题,关于ListView控件的。现在想要以个这样的效果,比如说我的ListView里面现在有500条数据
但我的listview只能显示100条,这样的话我就设计了一个Button事件。假如开始的时候选中的是第1条,那么我点
了Button事件后就是选中第101条,2对应的就跳到102那个位置,其他的依次那样。关键是现在我可以把焦点什么的
给那个数据,就是不能实现把画面也移动到101那个数据上(就是说画面上你看不出什么改变,我要的是ListView要
滚动到101那条数据上去)。说了这么多也不知道楼下明白不?
...全文
254 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ICanUseThisID 2009-01-05
  • 打赏
  • 举报
回复
楼主可以试试ListView.TopItem属性,在vista下设置这个属性后,程序就关闭了(难道是bug?),不知道xp下可不可以,下面是msdn的备注:


最初,索引位置零 (0) 处的项位于 ListView 控件的顶端。如果滚动 ListView 控件的内容,就会有不同的项位于控件顶端。可以使用此属性指示或确定哪个项在 ListView 控件的顶部可见。TopItem 属性的值不会始终保持不变,它取决于所需的顶级项在列表视图中的位置。

在任何时候,ListView 控件中的可见项的数目都取决于列表视图的高度和其中包含的项的大小。如果项超出了列表视图的高度,将在多个页中继续显示这些项,用户可以通过滚动页面查看这些项。如果将 TopItem 属性设为 ListView 的最后一页中的某个项,则该项会自动滚动到视图中;但是,TopItem 将被设置为最后一页上实际的顶级项。

若要确保某个特定项位于控件的可见区域中(但不一定是顶级位置),可使用 EnsureVisible 方法。


APP开发王 2009-01-05
  • 打赏
  • 举报
回复
ListView.EnsureVisible 方法

ListView.EnsureVisible(101);
ListView.EnsureVisible(201);
darwen2009 2009-01-05
  • 打赏
  • 举报
回复
用1楼的方法
只要控制不出现越界就行了
当传的参数超过数据和
就会出现异常..注意下这个就应该没什么
guilin_gavin 2009-01-05
  • 打赏
  • 举报
回复
啊 同意1楼
GTX280 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xxyping 的回复:]
不是,我做的是Winform的。只不过数据太多,我要点两个Button去实现数据的前一页,后一页。一楼的方法我正在试,基本上也能满足我的需要,就是不知道大家还有其他的好的方法没。。。。
[/Quote]
1楼的方法挺好用的
darwen2009 2009-01-05
  • 打赏
  • 举报
回复
1楼的最简单了
你只要获取当前选项的index把+1+100
在使用1楼方法
基本就能实现你说的
xxyping 2009-01-05
  • 打赏
  • 举报
回复
不是,我做的是Winform的。只不过数据太多,我要点两个Button去实现数据的前一页,后一页。一楼的方法我正在试,基本上也能满足我的需要,就是不知道大家还有其他的好的方法没。。。。
GTX280 2009-01-05
  • 打赏
  • 举报
回复
楼主是想做数据分页吗
gtiroy 2009-01-05
  • 打赏
  • 举报
回复
用SelectedIndex。保存之前的Index之后附给绑定之后的index
cpio 2009-01-05
  • 打赏
  • 举报
回复
ListView.EnsureVisible 方法

ListView.EnsureVisible(101);
ListView.EnsureVisible(201);

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧