FLEX DataGrid 点击表头后按不同方式排序

该博文详细介绍了如何在Flex的DataGrid和AdvancedDataGrid中实现点击表头进行数字、日期和字符串类型的排序功能。通过覆盖默认的sortCompareFunction,根据数据类型调用不同的比较函数进行排序,包括number_sortCompareFunc、date_sortCompareFunc和string_sortCompareFunc,确保了数据正确有序显示。
摘要由CSDN通过智能技术生成
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值