- 浏览: 200628 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 901Flash可以被嵌入其他的服务器网页中,如果要flash取得 ... -
Flex4 背景设置
2014-12-02 14:34 1117Flex的spark组件可以用skin来设置组件的背景,但是 ... -
Flex Chart 中用dataFunction对数据进行处理
2014-11-24 16:27 1540在flex中用chart对数据展示时,有时候数据中有空值,但 ... -
Flex DataGrid 动态改变headerRender 属性&itemRender 改变单元格颜色
2014-11-24 15:34 1194很多时候会用到动态改变datagrid的headerRend ... -
Flex SDK 中没有 en_GB 语言包
2014-06-12 17:24 837在Flex国际化中,如果支持en_GB,发现SDK 中根本没 ... -
Flex 在chrome中debug连接不上
2014-05-29 10:47 1291在Chrome 中debug总是连接不上的解决方案 1. ... -
Flex 特效机制
2013-08-15 20:59 852Flex的动画效果由一个工厂类(Factory)和一 ... -
Flex 绑定机制 (ChangeWatcher & BindingUtils )
2013-08-13 12:24 2791Flex的绑定机制也是一个亮点,对于数据和显示分离提供很好 ... -
Flex 深复制 浅复制
2013-08-09 15:26 1511对于基本类型,无所谓深浅复制。 深浅复制只要是对于引用类型 ... -
Flex States 应用
2013-08-09 11:23 1415这几天做项目重构,发现一个蹊跷的问题,A类基础B类,本来不 ... -
Loader 与SWFLoader 区别
2013-07-31 14:14 1425在Flex中可以通过Loader ... -
Flex ApplicationDomain
2013-07-31 11:09 980如果要说这个已经是一个非常长的篇幅,网上七零八落的介绍也非 ... -
Flex 截图
2013-07-26 13:44 2975Flex提供了两种方法截图,一个是BitmapData的dr ... -
继承父类并继承父类的控件
2013-07-25 15:40 1997在Flex当中,如果父类已经拥有了子元素,然后你再继承这个 ... -
Flex 带时间的DateField的
2013-07-19 17:32 4409需要做一个带时间的DateField控件。不做啰嗦,直接上 ... -
View Stack + TabBar 校验
2013-07-19 17:17 1225程序中用到view Stack + tabBar导航的导航的 ... -
Flex chart 改变图表元素的颜色
2013-06-08 16:08 4380Flex 有许许多多的chart组件,他们的父类都是Cha ... -
FlexUnit4
2013-09-25 13:30 944前些日子试用了FlexUnit4,发现真的非常的不错,非常 ... -
在flash中捕获所有的报错 (Catch All Exception in Flash)
2013-03-07 10:31 1875在Flash Player 10.1及以上版本中,adobe ... -
Flex3与Flex4 类结构图
2012-12-24 16:59 0Flex3 和 Flex4中的显示对象都是继承自UICompo ...
相关推荐
EasyUI Datagrid 中文排序的问题 解决了WEB端和后台(Oracle、MySQL)中文排序问题
juqery easyui datagrid的排序,当前页面排序。包含数字排序,中文排序,日期排序。
利用DataGrid显示某目录下的所有文件 | 对DataGrid进行排序
对FLEX dataGrid 中文排序的代码以及字符集等
DataGrid自动增加数据 DataGrid自动增加数据 DataGrid自动增加数据 DataGrid自动增加数据
DataGrid自动生成代码 可以自动生成DataGrid不要控件
Visual Studio .Net为编写WinForm程序(即:在Windows平台下运行的程序)所提供的DataGrid组件比起微软以往的各种开发环境中提供的 DataGrid组件都要\"高级\"许多。其\"高级\"的地方就在于不需要再进行任何其他设置...
DataGrid中的排序列怎么设
easyui datagrid排序图标 默认情况是没有图标的,无法区分哪些列可以排序
wpf datagrid排序列表头文字右边的升降箭头Demo,下载下来用VS2019编辑即可执行!!
Flex中如何创建自定义排序DataGrid控件的例子
针对 DataGrid 控件,对数据进行分组、排序和筛选....
这是一个VB6.0调整datagrid的模块代码,网上找过很多,都没有VB6的,而且都是两大段的,我这个简单就简单实用了。
easyUI datagrid 实现行上移,下移,置顶,置底,绑定键盘事件 键盘“↑”表示上移,键盘“↓”表示下移,键盘Ctrl+“↑”表示置顶,键盘Ctrl+“↓”表示置底。
修改了原来的mydatagridview 中去掉设置树深度属性, 自动获得树深度;并修改了修改树节点时报错的问题。
按列排序 鼠标拖动列宽 浏览器兼容性 firefox ie opera 用法说明 simpleHtmlDataGrid与目前市场中的datagrid控件不同,它更加像一个插槽,开发者需要按照具体所需进行扩展。 参考目录中的例子及api,实例可...
Add sorting to DataGrid Custom sorting in DataGrid Create column groups in DataGrid CheckBox select on DataGrid Custom DataGrid Paging Enable DataGrid Inline Editing Calculate two column values...
WPF DataGrid合并行
C# WPF DataGrid行拖拽顺序交换,通过按下rowheader,移动到目标行rowheader松开,实现列表顺序交换
使用SSM框架+EasyUI DataGrid数据表格实现了基本的增删改查,以及对数据分页,排序功能的实现。是一个对于后台管理的很好的例子,因为一般企业后台管理都是使用EasyUI等框架快速搭建,而且DataGrid是EasyUI最重要的...