`

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

    博客分类:
  • Flex
阅读更多

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实现数据过滤显示的功能。 首先,数据过滤是指根据特定条件筛选数据,只显示满足条件的记录。在Flex的MX:DataGrid中,我们可以使用FilteringSuite库或自定义过滤器来...

    Flex创建可编辑以及分页的DataGrid

    在Flex项目中,`mx.controls.DataGrid` 是核心的DataGrid类,而`mx.controls.PagingControl` 和 `mx.collections.PageableCollection` 则用于实现分页功能。确保在代码中正确引入这些类: ```xml &lt;mx:DataGrid id=...

    FLEX DATA GRID 分页

    - **使用mx.controls.DataGrid**:在MX DataGrid中,可以通过设置`horizontalScrollPolicy`和`verticalScrollPolicy`为`off`来禁用滚动,然后使用`Pagination`类来实现分页。`Pagination`类提供了`pageCount`、`...

    Flex Datagrid checkbox实现

    Flex Datagrid提供了许多高级特性,如排序、过滤、分页等,可以通过自定义列样式、数据提供程序和事件处理来实现。此外,还可以通过使用ItemEditor实现单元格编辑,或者通过使用AdvancedDataGrid组件来处理更复杂的...

    flex datagrid 分页控件源码

    在Flex中,我们可以通过设置DataGrid的数据源的`pagination`属性来启用分页功能,并配置分页参数,如每页显示的记录数(`pageSize`)。 3. **源码解析** 源码中可能包含以下几个关键部分: - **Pagination组件**:...

    flex3 对dataGrid 实现分页

    本文将详细介绍如何在Flex3中为DataGrid组件实现分页。 首先,我们需要理解Flex3的架构。Flex3基于ActionScript3.0,这是一个面向对象的编程语言,提供了强大的数据绑定和事件处理机制。在Flex中,数据网格...

    flex 中datagrid 动态攺变行颜色

    Datagrid是MX组件库中的一个控件,它允许我们显示二维的数据集合,并支持排序、分页和选择功能。默认情况下,Datagrid会按照预设的样式显示每一行,但我们可以自定义样式来满足特殊需求。 要动态改变行颜色,主要...

    基于桌面的flex的分页实现

    在Flex中,实现基于桌面的分页功能是常见且重要的需求,尤其是在处理大量数据时,分页能有效提高用户体验,减少加载时间。本文将详细讲解如何在Flex中实现桌面应用的分页功能。 首先,我们要理解Flex中的数据网格...

    flex分页控制

    ### Flex中的DataGrid分页控制实现 在Flex开发过程中,数据展示是非常常见且重要的功能之一。...综上所述,通过以上方法可以在Flex中轻松实现DataGrid的分页功能,不仅提高了应用的性能,也提升了用户的体验。

    flex 分页

    "Flex分页"指的是使用Adobe Flex框架实现数据的分页显示。Flex是一个开源的、基于ActionScript的开发框架,用于构建富互联网应用(RIA)。在这个场景下,我们将深入探讨Flex中的分页实现以及相关知识点。 首先,...

    Flex DataGrid 插入子组件

    本文将深入探讨如何在Flex的DataGrid中插入子组件,以实现更丰富的用户界面和交互功能。 一、Flex DataGrid概述 Flex DataGrid是Adobe Flex框架中的一个核心组件,用于展示动态数据集合。它支持排序、分页、选择行...

    flex2.0创建可编辑及分页.txt

    本方案通过以下步骤实现了一个可编辑且支持分页的DataGrid: 1. **数据获取**:前端使用Flex中的`RemoteObject`组件与后端进行通信,通过`getGridData()`方法从Java服务端获取数据,数据以JSON格式返回。 2. **数据...

    Flex4 分页组件

    在Flex4中,分页组件是实现大量数据展示时非常重要的一个功能,它允许用户以较小的数据块浏览内容,提高应用性能和用户体验。 分页组件在Flex4中的实现主要依赖于`mx.controls.Pagination`类。这个类提供了分页控制...

    flex 端实现分页的两种方法

    通过以上知识,我们可以灵活地在Flex端实现分页功能,无论是客户端分页还是服务器端分页,都能提供良好的用户体验。同时,对于开发者来说,理解并熟练运用这些技术,将有助于提升项目的质量和效率。

    Flex FooterSpark DataGrid 表格制作

    FooterSpark DataGrid是Flex 4.x(也称为Spark)中的一个组件,它提供了比早期版本(如MX DataGrid)更强大和灵活的功能。 1. **Spark DataGrid组件**: Spark DataGrid是Flex 4引入的新一代数据网格,与之前的MX ...

    Felx 报表

    在Flex中,可以使用`mx:DataGrid`的`pagination`属性实现分页,通过`mx:Filter`或自定义过滤函数实现数据筛选。这样,用户可以在不消耗过多系统资源的情况下查看和分析大量数据。 最后,Flex报表还支持导出为PDF、...

    flex-带checkbox的datagrid

    标题"flex-带checkbox的datagrid"指的是在Flex Datagrid组件中集成复选框(checkbox)的功能。这种功能常用于多选操作,例如用户可以选择一组数据项进行批量删除、编辑或其他操作。下面将详细介绍如何在Flex中实现带...

Global site tag (gtag.js) - Google Analytics