- 浏览: 204611 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
sprite:
java -Xdebug -Xrunjdwp:transpor ...
izpack 调试 -
aosnowit:
这里有一套非常不错的 SparkSkin 主题皮肤,更新很频 ...
Flex Skin (Spark) -
sprite:
在windows 7下,需要用admin权限去运行cmd窗口, ...
izpack 调试 -
luhantu:
其实对于非常简单的背景色设置已经够用了……
Flex4 背景设置 -
clschen:
还有一个非主流的方式,直接设置opaqueBackground ...
Flex4 背景设置
datagrid自动排序 (Sorting DataGrid programmatically)
- 博客分类:
- Flex
项目中很多时候会遇datagrid排序的问题,譬如翻页的datagrid,在第一页做了多行排序(multiColumnSort),翻页后的数据也要做这样的排序,怎么办呢?
1.首先找到每个column的排列顺序和sort方向。
2.把所有column按照顺序(升序)和sort方向组装到一个Array中。
3.生成一个sort对象,其datefields 就是这个数组。
4.重新赋Datagrid的数据源,并把原来的sort对象(第三步生成的)赋给此数据源。
5.大功告成!
<?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.collections.ICollectionView; import mx.controls.Label; import mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderRenderer; import mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer; import mx.controls.advancedDataGridClasses.SortInfo; import mx.core.FlexGlobals; import mx.core.UITextField; import mx.core.UITextFormat; import mx.core.mx_internal; import mx.events.AdvancedDataGridEvent; import spark.collections.Sort; import spark.collections.SortField; [Bindable] private var dpFlatOne:ArrayCollection = new ArrayCollection([ {Region:"Southwest1", Territory:"Arizona1",Territory_Rep:"BTerritory_Rep1", Actual:3, Estimate:40000}, {Region:"Southwest2", Territory:"Arizona2",Territory_Rep:"Territory_Rep2", Actual:29885, Estimate:30000}, {Region:"Southwest3", Territory:"Central3",Territory_Rep:"Territory_Rep3", Actual:29134, Estimate:30000}, {Region:"Southwest4", Territory:"Nevada4",Territory_Rep:"Territory_Rep4", Actual:1, Estimate:45000}, {Region:"Southwest5", Territory:"Northern5",Territory_Rep:"Territory_Rep5", Actual:38805, Estimate:40000}, {Region:"Southwest6", Territory:"Northern6",Territory_Rep:"Territory_Rep6", Actual:55498, Estimate:40000}, {Region:"Southwest7", Territory:"Southern7",Territory_Rep:"Territory_Rep7", Actual:44985, Estimate:45000}, {Region:"Southwest8", Territory:"Southern8",Territory_Rep:"Territory_Rep8", Actual:1, Estimate:45000} ]); private var dpFlatTwo:ArrayCollection = new ArrayCollection([ {Region:"Southwest9", Territory:"Arizona9",Territory_Rep:"Territory_Rep9", Actual:138865, Estimate:40000}, {Region:"Southwest10", Territory:"Arizona10",Territory_Rep:"Territory_Rep10", Actual:229885, Estimate:30000}, {Region:"Southwest11", Territory:"Central11",Territory_Rep:"Territory_Rep11", Actual:329134, Estimate:30000}, {Region:"Southwest12", Territory:"Nevada12",Territory_Rep:"Territory_Rep12", Actual:452888, Estimate:45000}, {Region:"Southwest13", Territory:"Northern13",Territory_Rep:"Territory_Rep13", Actual:538805, Estimate:40000}, {Region:"Southwest14", Territory:"Northern14",Territory_Rep:"Territory_Rep14", Actual:655498, Estimate:40000}, {Region:"Southwest15", Territory:"Southern15",Territory_Rep:"Territory_Rep15", Actual:744985, Estimate:45000}, {Region:"Southwest16", Territory:"Southern16",Territory_Rep:"Territory_Rep16", Actual:855555, Estimate:45000} ]); private var sortCount:int = 0; protected function programmingSortclickHandler(event:MouseEvent):void { var sortFiledsArray:ArrayCollection = new ArrayCollection(); for each(var column:AdvancedDataGridColumn in firstDatagrid.columns) { var sortInfo:SortInfo = firstDatagrid.getFieldSortInfo(column); if (sortInfo != null) { sortFiledsArray.addItem({sortFiled:new SortField(column.dataField,column.sortDescending),index:sortInfo.sequenceNumber}); } } var sort1:Sort = new Sort(); sort1.fields = [new SortField("index",false,true)]; sortFiledsArray.sort = sort1; sortFiledsArray.refresh(); var sortFields:Array = new Array(); for each(var sortObj:Object in sortFiledsArray) { sortFields.push(sortObj.sortFiled); } var sort:Sort = new Sort(); sort.fields = sortFields; if(sortCount % 2 == 0) { firstDatagrid.dataProvider = dpFlatTwo; } else { firstDatagrid.dataProvider = dpFlatOne; } (firstDatagrid.dataProvider as ICollectionView).sort = sort; sortCount++; } ]]> </fx:Script> <s:layout> <s:VerticalLayout/> </s:layout> <mx:AdvancedDataGrid id="firstDatagrid" sortableColumns="true" sortExpertMode="true" width="600" height="100%" dataProvider="{dpFlatOne}"> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region" itemRenderer="mx.controls.Label"/> <mx:AdvancedDataGridColumn dataField="Territory"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep" showDataTips="true" headerText="Territory_Rep" itemRenderer="mx.controls.Label"/> <mx:AdvancedDataGridColumn dataField="Actual" headerText="asdfadsfasdfasafsdf" dataTipField="Actual" showDataTips="true"/> <mx:AdvancedDataGridColumn dataField="Estimate" headerText="asdddddddddddddddddddddddf"/> </mx:columns> </mx:AdvancedDataGrid> <s:Button label="Programming Sort" click="programmingSortclickHandler(event)"/> </s:Group>
发表评论
-
Flex 取得浏览器hostname
2015-01-03 19:02 937Flash可以被嵌入其他的服务器网页中,如果要flash取得 ... -
Flex4 背景设置
2014-12-02 14:34 1168Flex的spark组件可以用skin来设置组件的背景,但是 ... -
Flex Chart 中用dataFunction对数据进行处理
2014-11-24 16:27 1577在flex中用chart对数据展示时,有时候数据中有空值,但 ... -
Flex DataGrid 动态改变headerRender 属性&itemRender 改变单元格颜色
2014-11-24 15:34 1242很多时候会用到动态改变datagrid的headerRend ... -
Flex SDK 中没有 en_GB 语言包
2014-06-12 17:24 874在Flex国际化中,如果支持en_GB,发现SDK 中根本没 ... -
Flex 在chrome中debug连接不上
2014-05-29 10:47 1330在Chrome 中debug总是连接不上的解决方案 1. ... -
Flex 特效机制
2013-08-15 20:59 890Flex的动画效果由一个工厂类(Factory)和一 ... -
Flex 绑定机制 (ChangeWatcher & BindingUtils )
2013-08-13 12:24 2815Flex的绑定机制也是一个亮点,对于数据和显示分离提供很好 ... -
Flex 深复制 浅复制
2013-08-09 15:26 1539对于基本类型,无所谓深浅复制。 深浅复制只要是对于引用类型 ... -
Flex States 应用
2013-08-09 11:23 1449这几天做项目重构,发现一个蹊跷的问题,A类基础B类,本来不 ... -
Loader 与SWFLoader 区别
2013-07-31 14:14 1451在Flex中可以通过Loader ... -
Flex ApplicationDomain
2013-07-31 11:09 1009如果要说这个已经是一个非常长的篇幅,网上七零八落的介绍也非 ... -
Flex 截图
2013-07-26 13:44 3007Flex提供了两种方法截图,一个是BitmapData的dr ... -
继承父类并继承父类的控件
2013-07-25 15:40 2032在Flex当中,如果父类已经拥有了子元素,然后你再继承这个 ... -
Flex 带时间的DateField的
2013-07-19 17:32 4452需要做一个带时间的DateField控件。不做啰嗦,直接上 ... -
View Stack + TabBar 校验
2013-07-19 17:17 1260程序中用到view Stack + tabBar导航的导航的 ... -
Flex chart 改变图表元素的颜色
2013-06-08 16:08 4416Flex 有许许多多的chart组件,他们的父类都是Cha ... -
FlexUnit4
2013-09-25 13:30 985前些日子试用了FlexUnit4,发现真的非常的不错,非常 ... -
在flash中捕获所有的报错 (Catch All Exception in Flash)
2013-03-07 10:31 1904在Flash Player 10.1及以上版本中,adobe ... -
Flex3与Flex4 类结构图
2012-12-24 16:59 0Flex3 和 Flex4中的显示对象都是继承自UICompo ...
相关推荐
### EasyUI Datagrid 中文排序解决方案 #### 一、前言 在开发Web应用程序时,经常需要处理中文数据的排序问题。特别是在使用如EasyUI Datagrid这样的前端组件时,中文排序成为了开发者面临的一个常见挑战。本文将...
本教程将深入讲解如何实现`DataGrid`的列头排序功能,即点击列表头文字右边的升降箭头进行升序或降序排序。这个功能在数据量较大、需要用户方便地对数据进行查找和分析时非常有用。 首先,`DataGrid`的排序功能主要...
在设置数据源后,DataGrid会自动创建列来对应`FileInfo`对象的属性,如`Name`(文件名)、`Length`(文件大小)和`CreationTime`(创建时间)等。 要实现对DataGrid的排序功能,我们需要设置每列的`SortMemberPath`...
本文档将详细讲解其中一个显著的改动:按下F3键自动触发DataGrid排序功能的改变,并提供应对策略。 **F3按键行为的改变** 在.NET Framework及之前的版本中,WPF的DataGrid控件并未对F3键有特定的行为定义。然而,...
juqery easyui datagrid的排序,当前页面排序。包含数字排序,中文排序,日期排序。
默认情况下,`DataGrid`会根据数据源中的字段自动创建列,并允许用户通过点击列头来对数据进行升序或降序排序。 设置`DataGrid`中的排序列,主要涉及以下几个关键步骤: 1. **数据绑定**:确保你的`DataGrid`已经...
本篇文章将深入探讨如何实现`dataGrid`中的中文排序,并结合提供的文件`SortUtil.txt`和`用法.txt`来讲解相关代码和字符集处理。 在Flex中,`dataGrid`的排序通常通过`sortField`和`sortOrder`属性或`sort`方法来...
默认情况下,EasyUI DataGrid并不会自动显示排序图标。这意味着当用户首次看到DataGrid时,他们可能不清楚哪些列可以通过点击进行升序或降序排序。为了提升用户体验,我们需要手动添加这些排序图标。 实现这个功能...
DataGrid自动生成代码 可以自动生成DataGrid不要控件
当我们谈论“DataGrid自动增加数据”,通常是指在用户交互过程中或程序逻辑控制下,DataGrid能够自动添加新的行或记录到其显示的数据源。这在处理大量数据时非常有用,可以提高用户操作效率和用户体验。下面我们将...
本篇文章将详细探讨如何利用`DataGrid`实现数据的分组、排序和筛选功能,以提高用户体验并便于数据管理。 **一、DataGrid数据分组** 数据分组允许用户将类似的数据聚合在一起,形成可视化的层次结构。在`DataGrid`...
在Flex开发中,DataGrid控件是用于展示数据集的常用组件,它可以显示表格形式的数据并支持用户交互,如排序、选择和编辑。然而,有时我们可能需要对DataGrid的默认排序功能进行自定义,以满足特定的业务需求。本教程...
**排序(Sorting)**: 排序功能使用户能够根据特定的列值对数据进行升序或降序排列。在`datagrid`中,实现排序通常涉及监听用户的点击事件(用户点击列标题时),然后根据选择的列调用排序算法。排序算法可以是内置...
这通常需要一个提交按钮或者在改变顺序后自动触发一个异步请求,将新的排序信息发送给服务器。服务器端接收到请求后,根据传递的信息更新数据表的顺序。 4. **绑定键盘事件**:在JavaScript中,可以使用`...
这是一个VB6.0调整datagrid的模块代码,网上找过很多,都没有VB6的,而且都是两大段的,我这个简单就简单实用了。
### ASP.NET DataGrid排序功能详解 #### 一、引言 在ASP.NET Web应用程序开发过程中,经常需要处理数据展示及交互。其中,`DataGrid` 控件是非常实用且功能强大的工具之一,它允许用户轻松地对数据库中的数据进行...
然而,为了自定义排序逻辑,可以使用DataGrid的Sorting事件。在事件处理程序中,可以对数据源进行排序,然后重新绑定: ```csharp dataGrid.Sorting += (sender, e) => { // 获取排序列和排序方向 string column...
3. **处理数据源**:由于WPF的DataGrid是数据绑定的,所以改变数据源的顺序会自动反映到界面上。你需要在Drop事件处理器中重新排序数据源。 4. **设置适当的视觉反馈**:为了提供良好的用户体验,可以在DragOver...
例如,使用`url`选项指定服务器接口,DataGrid会自动发送请求获取数据。 4. **列定义** DataGrid的列定义可以通过`columns`选项设置,每个列包含字段名(field)、标题(title)和可选的其他属性,如width、align...