创建自动滚动的DataGrid

前几天要做 一个能自动滚动的DataGrid,当鼠标移动到某个项目时停止滚动,移出时则继续滚动。我把代码整理成一个组件,与大家分享。

点击此处查看本实例的效果,点击此处下载本实例的源码。

源码中我们用Timer来添加项目,当数据源变化时会派发CollectionEvent.COLLECTION_CHANGE事件,其处理方法会将DataGrid顶边到内容的偏移量 设定为最大值,从而滚动一行。当定时器的触发的总次数达到数据提供者的初始项目总数时,定时器会重置再启动,从而实现循环滚动。

AutoScrollingDataGrid有两个扩展属性。delay表示滚动一行数据所需的时间,resultCollection表示数据提供者的初始项目集。

我们的方法会让DataGrid的数据提供者的项目不断增多,但因为是有规律地增多,所以基本上实现了目标。不过,这样方法会导致DataGrid的排序 混乱。感兴趣的可以想一下有什么好方法来解决这个问题。

来源文章来自: 本站原创
引用通告引用通告: 查看所有引用 | 我要引用此文章
标签Tags: DataGrid
相关日志相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.