- 浏览: 763574 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (573)
- Java基础 (76)
- C++基础 (5)
- hibernate (5)
- struts (4)
- spring (1)
- webservice (7)
- AjaX基础 (0)
- JS脚本 (53)
- 正则表达式 (5)
- html脚本 (30)
- 数据库基础 (54)
- 工作相关 (49)
- 其他 (30)
- Linux (9)
- web服务器 (17)
- JSP (13)
- eclipse (6)
- 面试题相关 (20)
- XML (3)
- Apache common (2)
- 生活 (35)
- VMware (1)
- log4j (9)
- BeanUtils (2)
- 设计模式 (3)
- UML (1)
- UNIX (1)
- ibats (5)
- GT-Grid (17)
- ABAP学习 (17)
- ABAP (35)
- ABAP--ALV (11)
- ABAP--WEBDIMPRO (0)
- abap-sample (1)
- BEMS (2)
- flex (33)
- GIS技术 (3)
最新评论
排序部分
flex代码部分
import mx.controls.DateField; import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn; import mx.controls.dataGridClasses.DataGridColumn; import mx.events.AdvancedDataGridEvent; import mx.events.DataGridEvent; import mx.utils.ObjectUtil; /** * 点击dataGrid列头上的排序按钮 */ public function dataGridSort(evt:DataGridEvent):void { //1 得到要排序的列 var column:DataGridColumn=DataGridColumn(evt.currentTarget.columns[evt.columnIndex]); //2 得到列名 var columnName:String=column.dataField; //3 重写此列的排序函数 column.sortCompareFunction=function(obj1:Object, obj2:Object):int { return superSort(obj1, obj2, columnName); }; } /** * 点击AdvancedDataGrid列头上的排序按钮 */ private function advancedDataGridSort(evt:AdvancedDataGridEvent):void { var column:AdvancedDataGridColumn=AdvancedDataGridColumn(evt.currentTarget.columns[evt.columnIndex]); var columnName:String=column.dataField; column.sortCompareFunction=function(obj1:Object, obj2:Object):int { return superSort(obj1, obj2, columnName); }; } /** * 根据不同的数据类型选择不同的排序方式 优先级是数字、日期、字符串 */ public function superSort(obj1:Object, obj2:Object, columnName:String):int { //验证数据类型 Numbe Date String if (!isNaN(obj1[columnName])) { return number_sortCompareFunc(obj1, obj2, columnName); } if (strIsDate(obj1[columnName])) { var inputFormat:String=getInputFormat(obj1[columnName]); return date_sortCompareFunc(obj1, obj2, columnName, inputFormat); } return string_sortCompareFunc(obj1, obj2, columnName); } /** * 日期的排序 */ private function date_sortCompareFunc(obj1:Object, obj2:Object, columnName:String, inputFormat:String):int { var date1:Date=DateField.stringToDate(obj1[columnName], inputFormat); var date2:Date=DateField.stringToDate(obj2[columnName], inputFormat); return ObjectUtil.dateCompare(date1, date2); } /** * 字符串的排序 */ private function string_sortCompareFunc(obj1:Object, obj2:Object, columnName:String):int { // var str1:String=obj1[columnName]; // var str2:String=obj2[columnName]; var str1:String=convertChar(obj1[columnName]); var str2:String=convertChar(obj2[columnName]); return ObjectUtil.stringCompare(str1, str2, false); } /** * 数字的排序 */ private function number_sortCompareFunc(obj1:Object, obj2:Object, columnName:String):int { var num1:Number=Number(obj1[columnName]); var num2:Number=Number(obj2[columnName]); return ObjectUtil.numericCompare(num1, num2); } /** * 验证一个字符串是否是日期格式 */ private function strIsDate(str:String):Boolean { var inputFormat:String=getInputFormat(str); //如果找不到日期表示符号则直接返回false if (inputFormat == null) { return false; } var date:Date=DateField.stringToDate(str, inputFormat); //如果是日期date不为null if (date != null) { return true; } else { return false; } } /** * 得到日期的格式 判断的顺序为 2012-03-17 2012/03/17 2012.03.17 */ private function getInputFormat(str:String):String { if (str.indexOf("-") != -1) { return "YYYY-MM-DD"; } if (str.indexOf("/") != -1) { return "YYYY/MM/DD"; } if (str.indexOf(".") != -1) { return "YYYY.MM.DD"; } return null; } /** * 判断中文 */ public function isIn(min:int, max:int, n:int):Boolean { return min <= n && max >= n; } /** * 中文排序 */ public function convertChar(chineseChar:String):String { if (chineseChar != null) { var bytes:ByteArray=new ByteArray var str:String; for (var i:int=0; i < chineseChar.length; i++) { bytes.writeMultiByte(chineseChar.charAt(i), "cn-gb"); var n:int=bytes[i] << 8; n+=bytes[i + 1]; if (isIn(0xB0A1, 0xB0C4, n)) str=str + "a"; if (isIn(0XB0C5, 0XB2C0, n)) str=str + "b"; if (isIn(0xB2C1, 0xB4ED, n)) str=str + "c"; if (isIn(0xB4EE, 0xB6E9, n)) str=str + "d"; if (isIn(0xB6EA, 0xB7A1, n)) str=str + "e"; if (isIn(0xB7A2, 0xB8c0, n)) str=str + "f"; if (isIn(0xB8C1, 0xB9FD, n)) str=str + "g"; if (isIn(0xB9FE, 0xBBF6, n)) str=str + "h"; if (isIn(0xBBF7, 0xBFA5, n)) return "j"; if (isIn(0xBFA6, 0xC0AB, n)) str=str + "k"; if (isIn(0xC0AC, 0xC2E7, n)) str=str + "l"; if (isIn(0xC2E8, 0xC4C2, n)) str=str + "m"; if (isIn(0xC4C3, 0xC5B5, n)) str=str + "n"; if (isIn(0xC5B6, 0xC5BD, n)) str=str + "o"; if (isIn(0xC5BE, 0xC6D9, n)) str=str + "p"; if (isIn(0xC6DA, 0xC8BA, n)) str=str + "q"; if (isIn(0xC8BB, 0xC8F5, n)) str=str + "r"; if (isIn(0xC8F6, 0xCBF0, n)) str=str + "s"; if (isIn(0xCBFA, 0xCDD9, n)) str=str + "t"; if (isIn(0xCDDA, 0xCEF3, n)) str=str + "w"; if (isIn(0xCEF4, 0xD188, n)) str=str + "x"; if (isIn(0xD1B9, 0xD4D0, n)) str=str + "y"; if (isIn(0xD4D1, 0xD7F9, n)) str=str + "z"; } return str; } return null; }
flex代码部分
<?xml version="1.0" encoding="utf-8"?> <!-- http://blog.flexexamples.com/2007/08/23/determining-a-datagridcolumn-objects-current-sort-order/ --> <mx:Application name="DataGridColumn_sortDescending_test" xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white"> <mx:Script source="SortUtil.as"/> <mx:Script> <![CDATA[ import mx.controls.DateField; import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn; import mx.events.AdvancedDataGridEvent; import mx.utils.ObjectUtil; import mx.collections.ArrayCollection; import mx.controls.dataGridClasses.DataGridColumn; import mx.events.DataGridEvent; [Bindable] public var ac:ArrayCollection=new ArrayCollection([ {data:"-1112",label:"ad",date:"2009/11/10",china:"啊"}, {data:"112",label:"a",date:"2009/11/11",china:"吧"}, {data:"1",label:"12b",date:"2009/11/01",china:"才"}, {data:"2",label:"Ass",date:"2009/11/20",china:"的"}, {data:"0",label:"ass",date:"2009/11/14",china:"饿"}, {data:"3",label:"csx",date:"2010/11/12",china:"飞"}, {data:"1232",label:"cdf",date:"2009/11/13",china:"个"}, {data:"4",label:"xzm",date:"2001/12/10",china:"好"}, {data:"345",label:"awq",date:"2009/01/10",china:"在"} , {data:"345",label:"awq",date:"2009/01/10",china:"a"} , {data:"345",label:"awq",date:"2009/01/10",china:"j"} ]); ]]> </mx:Script> <mx:DataGrid id="dataGrid" rowCount="10" dataProvider="{ac}" headerRelease="dataGridSort(event)" width="600"> <mx:columns> <mx:DataGridColumn dataField="data" headerText="数字"/> <mx:DataGridColumn dataField="date" headerText="日期"/> <mx:DataGridColumn dataField="china" headerText="中文"/> </mx:columns> </mx:DataGrid> </mx:Application>
发表评论
-
Flex 非常实用的资料
2012-05-31 15:38 1188【改变输出swf的尺度,背景颜色或帧频】 在"Na ... -
Flex正则表达式规则
2012-05-31 15:35 16671.Flex正则表达式规则 1.1普通字符 字母、数字、汉 ... -
Flex中[Bindable]的使用心得
2012-05-30 16:55 895在Flex编程中,Bindble使用到最多的元数据。该标签可以 ... -
FLEX元标签_Bindable
2012-05-30 16:46 10581 概述 [Bindable ... -
Flex Bindable
2012-05-30 16:41 806对一个类声明绑定,相当于给这个类里的所有属性都声明了绑定。等同 ... -
Flex [Bindable] 以及使用方法
2012-05-30 16:37 1102绑定: 举个例子: 给下面的public变量加上[Bind ... -
关于flex开发自定义组件需要注意的问题
2012-05-23 14:24 1120一.首先回答,为什么要 ... -
Flex中自定义组件
2012-05-23 14:17 1086如要重写组件,就不得不了解Flex中组件初始化过程。初始化过程 ... -
flex,datagrid多列排序
2012-03-21 15:01 1052<?xml version="1.0" ... -
flex 动态给控件赋值,通过反射遍历MXML中的组件
2012-03-21 13:52 1315flex 动态给控件赋值,通过反射遍历MXML中的组件。当有1 ... -
flex双击不生效问题
2012-03-21 13:50 908今天用到flex的doubleclick的事件,但是不生效,原 ... -
FLEX datagrid 点击列头排序后,行编辑问题
2012-03-21 13:45 952点击列头排序后。行编辑事件结束后,adobe默认会自己重新将d ... -
flex内存管理机制
2012-03-20 13:44 921一.简述Flex内存释放优 ... -
Flex 内存处理的方法
2012-03-20 11:25 8281.当任何对象unload后,fl ... -
Flex3 Profile的使用
2012-03-13 15:38 928flex的profile就是一个性能监测器,也是adobe向传 ... -
FLEX内存释放优化原则
2012-03-13 15:36 796FLEX内存释放优化原则: 1. 被删除对象在外部的所有引 ... -
flashplayer的缓存目录
2012-03-13 15:34 3027flashplayer的缓存目录是: XP系统下是C:/Do ... -
swf 更新后,客户端不需要清空缓存即可查看最新版本
2012-03-13 14:20 2343我们在用Flex开发应用的时候,每次修改了swf,上传到服务器 ... -
用RSL来为你的flex程序减肥
2012-03-13 14:19 1123用RSL来为你的flex程序减肥 问题:一个只有几个控件的 ... -
Flex控制session方法
2011-12-07 08:52 1041采用filter 监控 MessageBrokerServle ...
相关推荐
flex 自定义 datagrid 列头带组合框进行过滤
flex DataGrid中文字符排序类 用法见 http://blog.sina.com.cn/s/blog_5fc933730100iign.html
此程序用于设置 flex DataGrid 的某列的位置固定,不论怎么拖动列的位置都不会变
Flex dataGrid 全选、反选 checkBox 不是很完善,但很有借鉴意义
DataGrid自定义列标题 DataGrid自定义列标题 DataGrid自定义列标题 DataGrid自定义列标题 DataGrid自定义列标题
FLEX的datagrid合计、平均值,很好的例子代码拿来就可以用
DataGrid中的排序列怎么设
flex datagrid 实现合计功能控件包 带源码,demo fxp是flex4的工程文件,导入到工作空间即可 直接导入项目即可。 更多访问我的blog www.dplayer.net
flex datagrid资料,下载的别人的,想弄点分数啊
flex datagrid 改变指定行的背景颜色,可直接使用
这个分页只与后台交互一次,然后将获得的集合在前台进行分页显示。
NULL 博文链接:https://lqw.iteye.com/blog/537409
行中实现勾选与下拉列表功能
在FLEX4中开发带有过滤功能的DATAGRID组件
成功的实现了,datagrid中嵌套checkbox实现全选的功能。分享代码供大家分享。项目为flex3。
flex Datagrid checkbox全选 Datagrid
flex 通过读取xml文件 实现动态DataGrid数据列表
NULL 博文链接:https://windmark.iteye.com/blog/1716422
var dataGridColumn:DataGridColumn = new DataGridColumn(arrData[2]); dataGridColumn.headerText=arrData[0];... arrays= dataGrid.columns; arrays.push(dataGridColumn); dataGrid.columns = arrays;
datagrid里添加combobox列,在拖动时会出现数据混乱问题,该实例解决此问题。