-
Flex DataGrid 分页
2009-06-17 23:37/点击数()
原文链接:http://flex.joelove.cn/flex-datagrid-page/ 分享一个刚弄完 Flex DataGrid 分页控件,确切点说,应该是Flex ListBase 分页控件,继承自ListBase的组件都能被控制, 至于我所说的控制,是指数据本地化之后的控制,如果你是想要实现与后台交互式的
原文链接:http://flex.joelove.cn/flex-datagrid-page/
分享一个刚弄完 Flex DataGrid 分页控件,确切点说,应该是Flex ListBase 分页控件,继承自ListBase的组件都能被控制,
至于我所说的控制,是指数据本地化之后的控制,如果你是想要实现与后台交互式的读取数据,就得自己动手了。
废话少说,先看看怎么用(下面的实例使用的都是DataGrid):
PageController 就是分页 控制器,PerPage属性设置每页显示多少条数据,TargetUI属性设置控制对象,这里设置了控制DataGrid每页显示5条数据,这两个属性一般都
是在编码期程序员就直接指定了(有特殊要求的同志,自己去改),DataProvider属性设置数据源,比较常见的是运行时赋值,比如读取XML,或者后台读取数据,可以通过下面3种方法赋值。实现Flex DataGrid 分页的方法
1.最常用的方法,数据源被设置在了DataGrid 上面,控制器直接操控
<mx:DataGrid id="dg" dataProvider="{DGArray}" rowCount="8" width="400"/> <Pagination:PageController id="pc" TargetUI="{dg}" PerPage="5"/>
2.数据源直接交给控制器,通过控制器分配数据
<mx:DataGrid id="dg" rowCount="8" width="400"/> <Pagination:PageController id="pc" DataProvider="{DGArray}" TargetUI="{dg}" PerPage="5"/>
3.数据源在运行中赋值
<mx:DataGrid id="dg" rowCount="8" width="400"/> <Pagination:PageController id="pc" TargetUI="{dg}" PerPage="5"/> <mx:Button label="点击设置DataGrid数据" click="{dg.dataProvider=DGArray}"/> <mx:Button label="点击设置PageController数据" click="{pc.DataProvider=DGArray}"/>
因为手上的项目数据源比较杂吗,有时用XMLList,有时用ArrayCollection,还有后台.NET 传的IList,所以控制器里面的数据源采用了ICollectionView,如果你的数据源比较单一的话,可以采用
Array或者ArrayCollection,再通过slice方法,比较方便,速度上应该也会快点!见仁见智咯!写得不好的话别骂我,任改,有更好的想法或者实现上有什么问题,一定回来留个言!
源码在这里Pagination.rar
上一篇:Flex屏蔽并自定义鼠标右键菜单
