- 浏览: 200231 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 899Flash可以被嵌入其他的服务器网页中,如果要flash取得 ... -
Flex4 背景设置
2014-12-02 14:34 1115Flex的spark组件可以用skin来设置组件的背景,但是 ... -
Flex Chart 中用dataFunction对数据进行处理
2014-11-24 16:27 1536在flex中用chart对数据展示时,有时候数据中有空值,但 ... -
Flex DataGrid 动态改变headerRender 属性&itemRender 改变单元格颜色
2014-11-24 15:34 1190很多时候会用到动态改变datagrid的headerRend ... -
Flex SDK 中没有 en_GB 语言包
2014-06-12 17:24 835在Flex国际化中,如果支持en_GB,发现SDK 中根本没 ... -
Flex 在chrome中debug连接不上
2014-05-29 10:47 1285在Chrome 中debug总是连接不上的解决方案 1. ... -
Flex 特效机制
2013-08-15 20:59 850Flex的动画效果由一个工厂类(Factory)和一 ... -
Flex 绑定机制 (ChangeWatcher & BindingUtils )
2013-08-13 12:24 2784Flex的绑定机制也是一个亮点,对于数据和显示分离提供很好 ... -
Flex 深复制 浅复制
2013-08-09 15:26 1508对于基本类型,无所谓深浅复制。 深浅复制只要是对于引用类型 ... -
Flex States 应用
2013-08-09 11:23 1411这几天做项目重构,发现一个蹊跷的问题,A类基础B类,本来不 ... -
Loader 与SWFLoader 区别
2013-07-31 14:14 1422在Flex中可以通过Loader ... -
Flex ApplicationDomain
2013-07-31 11:09 975如果要说这个已经是一个非常长的篇幅,网上七零八落的介绍也非 ... -
Flex 截图
2013-07-26 13:44 2971Flex提供了两种方法截图,一个是BitmapData的dr ... -
继承父类并继承父类的控件
2013-07-25 15:40 1993在Flex当中,如果父类已经拥有了子元素,然后你再继承这个 ... -
Flex 带时间的DateField的
2013-07-19 17:32 4407需要做一个带时间的DateField控件。不做啰嗦,直接上 ... -
View Stack + TabBar 校验
2013-07-19 17:17 1220程序中用到view Stack + tabBar导航的导航的 ... -
Flex chart 改变图表元素的颜色
2013-06-08 16:08 4371Flex 有许许多多的chart组件,他们的父类都是Cha ... -
FlexUnit4
2013-09-25 13:30 942前些日子试用了FlexUnit4,发现真的非常的不错,非常 ... -
在flash中捕获所有的报错 (Catch All Exception in Flash)
2013-03-07 10:31 1871在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合并行
使用SSM框架+EasyUI DataGrid数据表格实现了基本的增删改查,以及对数据分页,排序功能的实现。是一个对于后台管理的很好的例子,因为一般企业后台管理都是使用EasyUI等框架快速搭建,而且DataGrid是EasyUI最重要的...
jeasyui-datagrid-datagrid 开发参考