3分页触发的方法,组件中有一个属性为pagingFunction,为向服务端请求数据的函数;当该函数为空时,调用客户端分页;反之调用该方法进行服务端分页。

Code
[http://www.xueit.com]
1 /**
2 * 更新数据源,更新表格显示数据
3 */
4 private function refreshDataProvider(pageIndex:uint,isCreateNavBar:Boolean=true,pageSize:uint=0,resultReturn:Boolean=false):void{
5 //分页函数
6 if(dataGrid==null) return;
7 currentPageIndex=pageIndex;
8 if(pageSize==0){
9 pageSize=this.pageSize;
10 }else{
11 this.pageSize=pageSize;
12 if(!resultReturn) totalPages = Math.ceil(orgData.length/pageSize);
13 }
14 if(!resultReturn){
15 if(this.pagingFunction!=null){
16 pagingFunction(pageIndex,pageSize);
17 this.isCreateNavBar=isCreateNavBar;
18 }
19 else{
20 viewData = new ArrayCollection( orgData.source.slice((pageIndex * pageSize),(pageIndex * pageSize) pageSize) );
21 dataGrid.dataProvider=viewData;
22 pageNumber.text=(pageIndex 1).toString();
23
24 totalRecordLabel.text = '总记录数:' orgData.length.toString();
25 }
26 }
27 else{
28 dataGrid.dataProvider=orgData;
29 totalPages = Math.ceil(totalRecord/pageSize);
30 pageNumber.text=(pageIndex 1).toString();
31 totalRecordLabel.text = '总记录数:' totalRecord.toString()
32 }
33 totalPagesLabel.text = '总页数:' totalPages;
34 if(isCreateNavBar) createNavBar(pageIndex);
35 }
代码下载
/Files/badwps/FlexPagingBar.rar
精彩图集