簡體   English   中英

Flex:有關DataGridColumn的sortCompareFunction的問題

[英]Flex: question about the sortCompareFunction of the DataGridColumn

無論如何,我可以對多個列使用相同的sortCompareFunction而不是為每個列添加一個函數,因為我有一個包含50列的數據網格,其中40列的dataField不是字符串或數字,它是一個數組,因此默認排序為該列將不起作用。 根據Adobe幫助,sortCompareFunction的兩個參數是整個數據提供程序元素,而不僅僅是項目的數據,因此這意味着我必須為每列定義40個排序函數。 還有其他解決方案嗎?

提前致謝。

您可以像這樣指定排序功能:

<mx:DataGridColumn dataField="someFieldName"
    sortCompareFunction="{function(ob1:Object, obj2:Object):int{return mySortFunc(obj1, obj2, 'someFieldName');}}"/>

mySortFunc的實現是這樣的:

private function mySortFunc(obj1:Object, obj2:Object, fieldName:String):int{
    if (obj1.hasOwnProperty(fieldName) && obj2.hasOwnProperty(fieldName)){
        //comparison logic ex.
        return obj1[fieldName]>obj2[fieldName]?1:(obj1[fieldName]<obj2[fieldName]?-1:0);
    }
}

這樣,您可以為所有排序需求提供一個功能:)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM