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
FLEX DataGrid 点击表头后按不同方式排序
最新推荐文章于 2017-11-07 14:57:38 发布
该博文详细介绍了如何在Flex的DataGrid和AdvancedDataGrid中实现点击表头进行数字、日期和字符串类型的排序功能。通过覆盖默认的sortCompareFunction,根据数据类型调用不同的比较函数进行排序,包括number_sortCompareFunc、date_sortCompareFunc和string_sortCompareFunc,确保了数据正确有序显示。
摘要由CSDN通过智能技术生成