加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex实现分页显示功能(mx:DataGrid)

发布时间:2020-12-15 01:08:54 所属栏目:百科 来源:网络整理
导读:Flex使用DataGrid实现的分页显示在线运行效果见:http://tongqiuyan.blog.163.com/blog/static/19554530220119267352154/ 静态效果: 通过提供的“首页”、“上一页”、“下一页”、“末页”和“跳转”等按钮,能够随意显示相关页面的数据。 相关源码如下:

Flex使用DataGrid实现的分页显示在线运行效果见:http://tongqiuyan.blog.163.com/blog/static/19554530220119267352154/

静态效果:

通过提供的“首页”、“上一页”、“下一页”、“末页”和“跳转”等按钮,能够随意显示相关页面的数据。

相关源码如下:

分页组件代码

 
 
  1. <?xml?version="1.0"?encoding="utf-8"?> ?
  2. <mx:VBox?xmlns:mx="http://www.adobe.com/2006/mxml"?initialize="initData(dataProvider);"> ?
  3. ????<mx:Script> ?
  4. ????????<![CDATA[ ?
  5. ????????????import?mx.collections.ArrayCollection; ?
  6. ????????????//?当前需要显示的记录 ?
  7. ????????????[Bindable] ?
  8. ????????????private?var?mypagedata:ArrayCollection?=?new?ArrayCollection(); ?
  9. ????????????[Bindable] ?
  10. ????????????public?var?columns:Array;?//?数据集合 ?
  11. ????????????public?var?dataProvider:ArrayCollection;?//?所有数据 ?
  12. ????????????public?var?pageCount:int?=?6;//?每页包含的记录数,默认6条 ?
  13. ????????????public?var?curPage:int;?//?当前页码 ?
  14. ????????????public?var?totalPage:int;?//?总页数 ?
  15. ????????????public?var?totalCount:int;?//?总记录条数 ?
  16. ????????????public?function?initData(value:ArrayCollection):void ?
  17. ????????????{ ?
  18. ????????????????//?将所有的数据都赋值给?dataProvider?变量 ?
  19. ????????????????dataProvider?=?value; ?
  20. ????????????????//?移除当前页面中所有数据记录 ?
  21. ????????????????mypagedata.removeAll(); ?
  22. ????????????????if(null?!=?dataProvider?&&?dataProvider.length?>?0) ?
  23. ????????????????{ ?
  24. ????????????????????totalCount?=?dataProvider.length; ?
  25. ????????????????????totalPage?=?(totalCount?+?pageCount?-1)/pageCount; ?
  26. ????????????????????setPager(0); ?
  27. ????????????????????inputpage.minimum=1; ?
  28. ????????????????????inputpage.maximum=?totalPage; ?
  29. ????????????????}else{ ?
  30. ????????????????????totalCount?=?0; ?
  31. ????????????????????totalPage?=?0; ?
  32. ????????????????????curPage?=?0; ?
  33. ????????????????????inputpage.minimum=0; ?
  34. ????????????????????inputpage.maximum=?0; ?
  35. ????????????????????pagedetail.text?=?"第?0?页/共?0?页?共?0?条记录"; ?
  36. ????????????????} ?
  37. ????????????} ?
  38. ????????????public?function?setPager(value:int):void ?
  39. ????????????{ ?
  40. ????????????????if(value?<0?||?(value+1)>totalPage){ ?
  41. ????????????????????return; ?
  42. ????????????????} ?
  43. ????????????????curPage?=?value; ?
  44. ????????????????//?计算跳转到页面中的第一条记录所在记录中是第几条记录 ?
  45. ????????????????var?curNum?:?int?=?value*pageCount; ?
  46. ????????????????//?清空当前显示的数据记录 ?
  47. ????????????????mypagedata.removeAll(); ?
  48. ????????????????for(var?i:int?=?0;?curNum<dataProvider.length&&i<pageCount;?i++,curNum++){ ?
  49. ????????????????????mypagedata.addItem(dataProvider.getItemAt(curNum)); ?
  50. ????????????????} ?
  51. ????????????????var?temp:int=curPage+1; ?
  52. ????????????????pagedetail.text?=?"第?"+temp+"?页/共?"+totalPage+"?页?共?"+totalCount+"?条记录"; ?
  53. ????????????????cudg.dataProvider?=?mypagedata; ?
  54. ????????????} ?
  55. ????????]]> ?
  56. ????</mx:Script> ?
  57. ????<mx:DataGrid?id="cudg"?columns="{columns}"?width="100%"?height="100%"?/> ?
  58. ????<mx:HBox?verticalAlign="middle"?horizontalAlign="center"> ?
  59. ????????<mx:Label?text="第?0?页/共?0?页"?id="pagedetail"?/> ?
  60. ????????<mx:LinkButton?label="首页"?click="setPager(0);"?/> ?
  61. ????????<mx:LinkButton?label="上一页"?click="setPager(curPage?-?1);"?/> ?
  62. ????????<mx:LinkButton?label="下一页"?click="setPager(curPage?+?1);"?/> ?
  63. ????????<mx:LinkButton?label="末页"?click="setPager(totalPage?-?1);"?/> ?
  64. ????????<mx:NumericStepper?id="inputpage"?stepSize="1"?minimum="0"?maximum="0"?/> ?
  65. ????????<mx:LinkButton?label="跳转"?click="setPager(inputpage.value?-?1);"?/> ?
  66. ????</mx:HBox> ?
  67. </mx:VBox>?

涉及控件包括:<mx:DataGrid>、<mx:HBox>、<mx:LinkButton>、<mx:NumericStepper>等。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读