在使用Datagrid的时候,会遇到把表示的数据排序的时候,但是,有时候,不想用DataGrid自带的排序时,可以用如下的方法来自定义自己想要的排序方法。
自定义排序方法如下,需要自己手动写一段排序的方法,在这个方法里,定义你的排序方式,然后,只要把这个方法应用到Datagrid的某一列就好了。
1、自定义的排序方法
private function sortStudentId(itemA:Object, itemB:Object):int {
var dataA:int = int(itemA.student_id);
var dataB:int = int(itemB.student_id);
return ObjectUtil.compare(dataA, dataB);
}
2、把定义好的排序方法加载到Datagrid中
<mx:DataGrid id="dg" height="100%" width="100%" dataProvider="{studentList}">
<mx:columns>
<mx:DataGridColumn sortable="true" sortCompareFunction="sortStudentId" headerText="学号" dataField="student_id" width="50" itemMode="number"/>
</mx:columns>
</mx:DataGrid>
另外,ObjectUtil的使用,需要import进来, import mx.utils.ObjectUtil;
自定义排序方法如下,需要自己手动写一段排序的方法,在这个方法里,定义你的排序方式,然后,只要把这个方法应用到Datagrid的某一列就好了。
1、自定义的排序方法
private function sortStudentId(itemA:Object, itemB:Object):int {
var dataA:int = int(itemA.student_id);
var dataB:int = int(itemB.student_id);
return ObjectUtil.compare(dataA, dataB);
}
2、把定义好的排序方法加载到Datagrid中
<mx:DataGrid id="dg" height="100%" width="100%" dataProvider="{studentList}">
<mx:columns>
<mx:DataGridColumn sortable="true" sortCompareFunction="sortStudentId" headerText="学号" dataField="student_id" width="50" itemMode="number"/>
</mx:columns>
</mx:DataGrid>
另外,ObjectUtil的使用,需要import进来, import mx.utils.ObjectUtil;