Flex使用DataGrid实现的分页显示在线运行效果见:http://tongqiuyan.blog.163.com/blog/static/19554530220119267352154/
静态效果:
通过提供的“首页”、“上一页”、“下一页”、“末页”和“跳转”等按钮,能够随意显示相关页面的数据。
相关源码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initData(dataProvider);">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
// 当前需要显示的记录
[Bindable]
private var mypagedata:ArrayCollection = new ArrayCollection();
[Bindable]
public var columns:Array; // 数据集合
public var dataProvider:ArrayCollection; // 所有数据
public var pageCount:int = 6;// 每页包含的记录数,默认6条
public var curPage:int; // 当前页码
public var totalPage:int; // 总页数
public var totalCount:int; // 总记录条数
public function initData(value:ArrayCollection):void
{
// 将所有的数据都赋值给 dataProvider 变量
dataProvider = value;
// 移除当前页面中所有数据记录
mypagedata.removeAll();
if(null != dataProvider && dataProvider.length > 0)
{
totalCount = dataProvider.length;
totalPage = (totalCount + pageCount -1)/pageCount;
setPager(0);
inputpage.minimum=1;
inputpage.maximum= totalPage;
}else{
totalCount = 0;
totalPage = 0;
curPage = 0;
inputpage.minimum=0;
inputpage.maximum= 0;
pagedetail.text = "第 0 页/共 0 页 共 0 条记录";
}
}
public function setPager(value:int):void
{
if(value <0 || (value+1)>totalPage){
return;
}
curPage = value;
// 计算跳转到页面中的第一条记录所在记录中是第几条记录
var curNum : int = value*pageCount;
// 清空当前显示的数据记录
mypagedata.removeAll();
for(var i:int = 0; curNum<dataProvider.length&&i<pageCount; i++,curNum++){
mypagedata.addItem(dataProvider.getItemAt(curNum));
}
var temp:int=curPage+1;
pagedetail.text = "第 "+temp+" 页/共 "+totalPage+" 页 共 "+totalCount+" 条记录";
cudg.dataProvider = mypagedata;
}
]]>
</mx:Script>
<mx:DataGrid id="cudg" columns="{columns}" width="100%" height="100%" />
<mx:HBox verticalAlign="middle" horizontalAlign="center">
<mx:Label text="第 0 页/共 0 页" id="pagedetail" />
<mx:LinkButton label="首页" click="setPager(0);" />
<mx:LinkButton label="上一页" click="setPager(curPage - 1);" />
<mx:LinkButton label="下一页" click="setPager(curPage + 1);" />
<mx:LinkButton label="末页" click="setPager(totalPage - 1);" />
<mx:NumericStepper id="inputpage" stepSize="1" minimum="0" maximum="0" />
<mx:LinkButton label="跳转" click="setPager(inputpage.value - 1);" />
</mx:HBox>
</mx:VBox>
涉及控件包括:<mx:DataGrid>、<mx:HBox>、<mx:LinkButton>、<mx:NumericStepper>等。
分享到:
相关推荐
本篇文章将重点讲解如何在Flex中利用MX:DataGrid实现数据过滤显示的功能。 首先,数据过滤是指根据特定条件筛选数据,只显示满足条件的记录。在Flex的MX:DataGrid中,我们可以使用FilteringSuite库或自定义过滤器来...
在Flex项目中,`mx.controls.DataGrid` 是核心的DataGrid类,而`mx.controls.PagingControl` 和 `mx.collections.PageableCollection` 则用于实现分页功能。确保在代码中正确引入这些类: ```xml <mx:DataGrid id=...
- **使用mx.controls.DataGrid**:在MX DataGrid中,可以通过设置`horizontalScrollPolicy`和`verticalScrollPolicy`为`off`来禁用滚动,然后使用`Pagination`类来实现分页。`Pagination`类提供了`pageCount`、`...
Flex Datagrid提供了许多高级特性,如排序、过滤、分页等,可以通过自定义列样式、数据提供程序和事件处理来实现。此外,还可以通过使用ItemEditor实现单元格编辑,或者通过使用AdvancedDataGrid组件来处理更复杂的...
在Flex中,我们可以通过设置DataGrid的数据源的`pagination`属性来启用分页功能,并配置分页参数,如每页显示的记录数(`pageSize`)。 3. **源码解析** 源码中可能包含以下几个关键部分: - **Pagination组件**:...
本文将详细介绍如何在Flex3中为DataGrid组件实现分页。 首先,我们需要理解Flex3的架构。Flex3基于ActionScript3.0,这是一个面向对象的编程语言,提供了强大的数据绑定和事件处理机制。在Flex中,数据网格...
Datagrid是MX组件库中的一个控件,它允许我们显示二维的数据集合,并支持排序、分页和选择功能。默认情况下,Datagrid会按照预设的样式显示每一行,但我们可以自定义样式来满足特殊需求。 要动态改变行颜色,主要...
在Flex中,实现基于桌面的分页功能是常见且重要的需求,尤其是在处理大量数据时,分页能有效提高用户体验,减少加载时间。本文将详细讲解如何在Flex中实现桌面应用的分页功能。 首先,我们要理解Flex中的数据网格...
### Flex中的DataGrid分页控制实现 在Flex开发过程中,数据展示是非常常见且重要的功能之一。...综上所述,通过以上方法可以在Flex中轻松实现DataGrid的分页功能,不仅提高了应用的性能,也提升了用户的体验。
"Flex分页"指的是使用Adobe Flex框架实现数据的分页显示。Flex是一个开源的、基于ActionScript的开发框架,用于构建富互联网应用(RIA)。在这个场景下,我们将深入探讨Flex中的分页实现以及相关知识点。 首先,...
本文将深入探讨如何在Flex的DataGrid中插入子组件,以实现更丰富的用户界面和交互功能。 一、Flex DataGrid概述 Flex DataGrid是Adobe Flex框架中的一个核心组件,用于展示动态数据集合。它支持排序、分页、选择行...
本方案通过以下步骤实现了一个可编辑且支持分页的DataGrid: 1. **数据获取**:前端使用Flex中的`RemoteObject`组件与后端进行通信,通过`getGridData()`方法从Java服务端获取数据,数据以JSON格式返回。 2. **数据...
在Flex4中,分页组件是实现大量数据展示时非常重要的一个功能,它允许用户以较小的数据块浏览内容,提高应用性能和用户体验。 分页组件在Flex4中的实现主要依赖于`mx.controls.Pagination`类。这个类提供了分页控制...
通过以上知识,我们可以灵活地在Flex端实现分页功能,无论是客户端分页还是服务器端分页,都能提供良好的用户体验。同时,对于开发者来说,理解并熟练运用这些技术,将有助于提升项目的质量和效率。
FooterSpark DataGrid是Flex 4.x(也称为Spark)中的一个组件,它提供了比早期版本(如MX DataGrid)更强大和灵活的功能。 1. **Spark DataGrid组件**: Spark DataGrid是Flex 4引入的新一代数据网格,与之前的MX ...
在Flex中,可以使用`mx:DataGrid`的`pagination`属性实现分页,通过`mx:Filter`或自定义过滤函数实现数据筛选。这样,用户可以在不消耗过多系统资源的情况下查看和分析大量数据。 最后,Flex报表还支持导出为PDF、...
标题"flex-带checkbox的datagrid"指的是在Flex Datagrid组件中集成复选框(checkbox)的功能。这种功能常用于多选操作,例如用户可以选择一组数据项进行批量删除、编辑或其他操作。下面将详细介绍如何在Flex中实现带...