`
hereson
  • 浏览: 1444690 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Flex中DataGrid的分页

    博客分类:
  • flex
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute" creationComplete="initApp()">
<mx:Script>
  <![CDATA[
   public var pageRecordes:uint = 8;
   public var totalPages:uint = 0;
   public var totalRows:uint = 0;
   public var currentPage:uint = 1;
   public var pageStartRow:uint = 1;
   public var pageEndRow:uint = 0;
  
   public function initApp():void{
     txt.text = "Page " + currentPage;
     totalRows = initDG.length;
     if(initDG.length > pageRecordes){
      dg.dataProvider = initDG.slice(0,pageRecordes);
      pPage.enabled = false;
     }
    
     if((totalRows % pageRecordes) == 0){
       totalPages = Math.floor(totalRows / pageRecordes);
     }else{
      totalPages = Math.floor(totalRows / pageRecordes + 1);
     }
    
     if(totalRows <= pageRecordes){
      this.pageStartRow = 1;
      this.pageEndRow = totalRows;
      } else {
      this.pageStartRow = 1;
      this.pageEndRow = pageRecordes;
     }
    
     if(totalPages == 1){
      pPage.enabled = false;
      nPage.enabled = false;
     }   
   }
  
   public function showPreviousPage():void{
     currentPage = currentPage - 1;
     txt.text = "Page " + currentPage;
     if(currentPage == 1){
      pPage.enabled = false;
      nPage.enabled = true;
     }else{
      pPage.enabled = true;
      nPage.enabled = true;
     }
     if (currentPage == totalPages) {
      pageStartRow = (currentPage - 1) * pageRecordes + 1;
      pageEndRow = totalRows;
     } else {
      pageStartRow = (currentPage - 1) * pageRecordes + 1;
      pageEndRow = currentPage * pageRecordes;
     }
     dg.dataProvider = initDG.slice(pageStartRow - 1,pageEndRow);
   }
  
   public function showNextPage():void{
     currentPage = currentPage + 1;
     txt.text = "Page " + currentPage;
     if(currentPage == totalPages){
      nPage.enabled = false;
      pPage.enabled = true;
     }else{
      nPage.enabled = true;
      pPage.enabled = true;
     }
     if (currentPage == totalPages) {
      pageStartRow = (currentPage - 1) * pageRecordes + 1;
      pageEndRow = totalRows;
     } else {
      pageStartRow = (currentPage - 1) * pageRecordes + 1;
      pageEndRow = currentPage * pageRecordes;
     }
     dg.dataProvider = initDG.slice((currentPage - 1) * pageRecordes,pageEndRow);
   }
  
   public function showFirstPage():void{
     dg.dataProvider = initDG.slice(0,pageRecordes);
     pPage.enabled = false;
     nPage.enabled = true;
     txt.text = "Page " + 1;
     currentPage = 1;
   }
  
   public function showLastPage():void{
     dg.dataProvider = initDG.slice((totalPages - 1) * pageRecordes,totalRows);
     pPage.enabled = true;
     nPage.enabled = false;
     txt.text = "Page " + totalPages;
     currentPage = totalPages;
   }
  ]]>
</mx:Script>
<mx:Panel title="DataGrid Panel" height="287" width="500">
  <mx:DataGrid id="dg" height="100%" width="100%">
    <mx:dataProvider>
                    <mx:Array id="initDG">
                        <mx:Object PLAYER="Rafer Alston" POS="G" FROM="Fresno State"/>
                        <mx:Object PLAYER="Luther Head" POS="G" FROM="lllinois"/>
                        <mx:Object PLAYER="Tracy McGrady" POS="F-G" FROM="Mount Zion Christian Acad. HS (NC)"/>
                        <mx:Object PLAYER="Dikembe Mutombo" POS="C" FROM="Georgetown"/>
                        <mx:Object PLAYER="Stromile Swift" POS="F" FROM="Louisiana State"/>
                        <mx:Object PLAYER="David Wesley" POS="G" FROM="Baylor"/>
                        <mx:Object PLAYER="Yao Ming" POS="C" FROM="China"/>
                        <mx:Object PLAYER="Kobe Bryant" POS="G" FROM="Lower Merion HS (PA)"/>
                        <mx:Object PLAYER="Kwame Brown" POS="F-C" FROM="Glynn Academy HS (GA)"/>
                        <mx:Object PLAYER="Lamar Odom" POS="F" FROM="Rhode Island"/>
                        <mx:Object PLAYER="Andrew Bynum" POS="C" FROM="St. Joseph HS (NJ)"/>
                        <mx:Object PLAYER="Brian Cook" POS="F" FROM="Illinois"/>
                        <mx:Object PLAYER="Devean George" POS="F" FROM="Augsburg"/>
                        <mx:Object PLAYER="Devin Green" POS="G" FROM="Hampton"/>
                        <mx:Object PLAYER="Aaron McKie" POS="F" FROM="Temple"/>
                        <mx:Object PLAYER="Chris Mihm" POS="C" FROM="Texas"/>
                        <mx:Object PLAYER="Smush Parker" POS="G" FROM="Fordham"/>
                        <mx:Object PLAYER="Ronny Turiaf" POS="F" FROM="Gonzaga"/>
                        <mx:Object PLAYER="Sasha Vujacic" POS="F" FROM="Slovenia"/>
                        <mx:Object PLAYER="Von Wafer" POS="F" FROM="Florida State"/>
                        <mx:Object PLAYER="Luke Walton" POS="F" FROM="Arizona"/>
                        <mx:Object PLAYER="Lamar Odom" POS="F" FROM="Rhode Island"/>
                        <mx:Object PLAYER="Jim Jackson" POS="F-G" FROM="Ohio State"/>
                    </mx:Array>
             </mx:dataProvider>
  </mx:DataGrid>
  <mx:Spacer />
  <mx:HBox width="391">
   <mx:Spacer />
   <mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="fPage" label="firstPage" itemClick="showFirstPage()">
    <mx:dataProvider>
              <mx:Array>
                  <mx:String>firstPage</mx:String>
              </mx:Array>
          </mx:dataProvider>
   </mx:LinkBar>
   <mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="pPage" label="prevPage" itemClick="showPreviousPage()">
    <mx:dataProvider>
              <mx:Array>
                  <mx:String>prePage</mx:String>
              </mx:Array>
          </mx:dataProvider>
   </mx:LinkBar>
   <mx:Text id="txt" width="52"/>
   <mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="nPage" label="nextPage" itemClick="showNextPage()">
    <mx:dataProvider>
              <mx:Array>
                  <mx:String>nextPage</mx:String>
              </mx:Array>
          </mx:dataProvider>
   </mx:LinkBar>
   <mx:LinkBar borderStyle="solid" color="#000000" backgroundColor="#CCFFFF" id="lPage" label="lastPage" itemClick="showLastPage()">
    <mx:dataProvider>
              <mx:Array>
                  <mx:String>lastPage</mx:String>
              </mx:Array>
          </mx:dataProvider>
   </mx:LinkBar>
  </mx:HBox>
  <mx:Spacer />
</mx:Panel>
</mx:Application>
分享到:
评论

相关推荐

    Flex中DataGrid分页源码

    本文将详细解析使用AS3.0在Flex中实现DataGrid分页的功能,帮助你深入理解这一技术。 首先,Flex是Adobe开发的一个开放源代码框架,用于构建富互联网应用程序(RIA)。它提供了丰富的组件库,包括DataGrid,这是一...

    flex datagrid 前台 分页

    Flex DataGrid是一款强大的数据展示组件,常用于Adobe Flex或Flash Builder等开发环境中。它能够高效地展示大量数据,并提供丰富的用户交互功能。在本场景中,我们关注的是“前台分页”这一技术。 前台分页是指在...

    flex 的datagrid分页

    "flex的datagrid分页"这个主题,主要涉及如何在DataGrid中实现数据的分页显示,以便用户能够高效地浏览大量数据,而不会因为一次性加载所有数据导致性能下降。下面将详细介绍DataGrid分页的相关知识点: 1. **数据...

    使用Flex开发DataGrid分页控件应用支持客户端及服务端

    总之,使用Flex开发DataGrid分页控件,无论是客户端还是服务端,都需要理解数据加载、分页逻辑和用户交互的基本原理。通过合理的组件布局、事件处理和数据绑定,可以实现高效、易用的分页功能。无论使用哪种编程语言...

    Flex DataGrid 分页

    通过阅读博客文章,我们可以深入了解Flex DataGrid分页的实现细节,学习如何利用PagerBar.mxml或其他工具来优化我们的Flex应用。同时,也可以从中获取灵感,为自己的项目设计更高效、更易用的分页解决方案。

    flex datagrid分页 动态绑定数据源

    本篇文章将深入探讨“flex datagrid分页动态绑定数据源”的相关知识点。 首先,让我们理解Flex Datagrid的基本概念。Flex Datagrid是一个灵活的数据呈现控件,能够处理各种数据源,包括ArrayCollection、...

    flex datagrid 分页控件源码

    在描述中提到的“flex datagrid pagination”是指DataGrid控件的一个重要特性——分页功能。在处理大数据集时,分页是必不可少的,因为它能提高用户体验,避免一次性加载所有数据导致的性能问题。下面将详细讲解Flex...

    flex dataGrid 分页控件

    这是我自己开发的一个dataGrid分页的控件,上传的资源是一个打成包的flex项目,这个控件在查询数据时是与后台进行实时交互的,表格的表头样式是重写皮肤类进行定义的,而隔行变色是通过css来实现的。其中最重要的...

    flex dataGrid分页 皮肤 隔行变色 实时交互

    这是我自己开发的一个dataGrid分页的控件,上传的资源是一个打成包的flex项目,这个控件在查询数据时是与后台进行实时交互的,表格的表头样式是重写皮肤类进行定义的,而隔行变色是通过css来实现的。其中最重要的...

    flex中的datagrid的分页定位以及高亮显示

    在Flex开发中,`Datagrid`组件是一种常用的展示数据列表的控件,而分页和数据高亮显示是提升用户体验的重要功能。本篇主要探讨如何在Flex的`Datagrid`中实现分页定位和高亮显示。 首先,分页定位涉及的主要任务是...

    flex datagrid分页

    在本示例中,我们关注的是“flex datagrid分页”这一主题,它涉及到如何在DataGrid中实现数据的分页显示,以便用户可以有效地浏览大量数据。 分页是大型数据集管理中的关键功能,它允许用户一次只查看一部分数据,...

    flex分页控制

    ### Flex中的DataGrid分页控制实现 在Flex开发过程中,数据展示是非常常见且重要的功能之一。其中,`DataGrid`组件被广泛应用于显示表格形式的数据集合。为了优化用户体验及提高性能,分页处理成为了必不可少的功能...

    flex datagrid 分页

    Flex中的DataGrid分页通常涉及到以下几个关键变量: - `pageRecordes`:每页显示的记录数。 - `totalPages`:总页数。 - `totalRows`:数据总条数。 - `currentPage`:当前页码。 - `pageStartRow`:当前页起始行...

    Flex4 DataGrid控件行编辑项目

    在Flex4.6开发环境中,DataGrid控件是用于展示数据集合的重要组件,它提供了丰富的功能,如排序、分页和自定义列显示。在这个项目中,我们关注的是如何实现DataGrid的行编辑功能,特别是在行中嵌套ComboBox控件以...

    flex基于datagrid控件的增删改查及分页实现

    在Flex中,可以使用PagingNavigator或PagingControl组件配合DataGrid实现分页。这些组件提供了上一页、下一页、跳转到指定页等功能。分页涉及到计算每页的数据量,以及在用户导航时正确加载和显示相应页面的数据。 ...

    具有分页功能的flex的DataGrid

    在这个特定的项目"具有分页功能的flex的DataGrid"中,我们主要关注两个核心功能:分页和数据导出到Excel。 分页功能是提高用户界面性能和用户体验的关键元素,尤其是在处理大数据集时。Flex中的DataGrid可以通过...

    flex下拉dataGrid

    在Flex开发中,"flex下拉dataGrid"是一种常见的用户界面组件组合,它结合了下拉菜单(Dropdown)和数据网格(DataGrid)的功能,用于提供丰富的数据选择体验。这样的设计通常用于当用户需要从一个较大的数据集合中...

    flex3 对dataGrid 实现分页

    总之,Flex3中的DataGrid分页是一个涉及数据管理、用户交互和事件处理的过程。通过合理地控制数据加载和更新,我们可以提高应用程序的性能,提供更好的用户体验。学习并掌握这一技术,对于开发大型Flex3应用是至关...

    FLEX DATA GRID 分页

    Flex Data Grid是Adobe Flex框架中的一个组件,全称为MX:DataGrid或Spark:DataGrid。它用于展示和操作表格形式的数据,支持多种功能,如列排序、选择行、自定义渲染等。在Flex 4之后,分为MX和Spark两个版本,MX ...

Global site tag (gtag.js) - Google Analytics