找回密码
 立即注册

QQ登录

只需一步,快速开始

hanamichi

论坛元老

12

主题

40

帖子

1万

积分

论坛元老

积分
13590

活字格认证

hanamichi
论坛元老   /  发表于:2014-7-10 16:03  /   查看:6696  /  回复:8
我想实现的功能如下:
sheetView里最多一共有100条数据,每屏幕显示20条数据,这样最多有5屏。再用一个textbox显示当前是第几屏。
sheetView的右侧把滚动条表示出来,初期化时候是前20条数据表示在第一屏上,textbox的值表示为1。
当我滚动鼠标的滚轮的时候,如果我往下滚,只要系统监测到我的鼠标动作是向下滚,就直接翻到第二屏,把第21条到第40条数据表示出来,textbox的值表示为2。 再向下滚,就表示第41到60条数据。
同理,鼠标向上滚的时候也是一次滚一屏(20条)的数据,而不是一条一条慢慢滚。
请指教,多谢!!

8 个回复

倒序浏览
hanamichi
论坛元老   /  发表于:2014-7-10 16:05:00
沙发
补充一下,右侧的滚动条如果不表示出来也可以,总的目的就是通过鼠标滚轮来滚动数据的时候,一次一屏而不是一次一条。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-7-10 19:17:00
板凳
补充一下,右侧的滚动条如果不表示出来也可以,总的目的就是通过鼠标滚轮来滚动数据的时候,一次一屏而不是一次一条。
hanamichi 发表于 2014-7-10 16:05:00


我理解的是您需要重置鼠标滚轮事件。
当鼠标滚轮往下的时候,进行往下翻页;
当鼠标滚轮往上的时候,进行往上翻页;

这样需要自定义Spread,对MouseWheel事件进行重置,请参考代码。
CustomSpread.rar (872 Bytes, 下载次数: 533)
回复 使用道具 举报
jleidong
注册会员   /  发表于:2014-7-11 09:38:00
地板
这么多人喜欢翻页功能呢,bs程序加载慢才需要。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-11 12:03:00
5#
回复 2楼hanamichi的帖子

可以通过  Spread 下的 TopChange(顶部行索引变化) 事件实现这个功能。
回复 使用道具 举报
hanamichi
论坛元老   /  发表于:2014-7-11 17:32:00
6#
回复 5楼iceman的帖子

谢谢,请问如何判断滚轮的方向,是向上滚了还是向下滚了?
回复 使用道具 举报
hanamichi
论坛元老   /  发表于:2014-7-11 18:20:00
7#
哦,为啥我的spread控件点不出来topRow属性呢
回复 使用道具 举报
hanamichi
论坛元老   /  发表于:2014-7-14 10:15:00
8#
哦,我用 FpSpread1.GetViewportTopRow(0) 这个方法取到当前页的起始行的index了,谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-14 14:59:00
9#
回复 9楼hanamichi的帖子

好的,感谢你反馈问题结果。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部