在高级数据网格中排序

时间:2010-01-18 15:03:29

标签: flex actionscript-3 flex3

我有一个带有排序的高级数据网格。我认为默认是字符串排序。但我需要在数量上进行排序。我怎样才能实现数字排序?

例如:我的行号为1到100。我需要数字排序,如1,10,100。

2 个答案:

答案 0 :(得分:1)

你的advancedDataGridColumn中的

添加了sortCompareFunction:

<mx:AdvancedDataGridColumn sortCompareFunction="NumberSorter" 
sortDescending="true" dataField="number" headerText="Formal Name" width="280"/>  

在脚本中的某处添加功能

<mx:Script>
    <![CDATA[

        import mx.utils.ObjectUtil
        public function NumberSorter(itemA:Object, itemB:Object):int{
        return ObjectUtil.numericCompare(itemA.number, itemB.number);
    }

    ]]>
</mx:Script>

答案 1 :(得分:0)

如果您的基础数据源是一个简单的数字数组,则只需拨打sort()

即可
myArray.sort(Array.NUMERIC);

如果您的数字位于每个数组输入对象的特定字段中,则可以改为使用sortOn()

myArray.sortOn("rowNumberField", Array.NUMERIC);