ArrayCollectionに、特定の値(アルファベット順ではない)で並べ替えたいアイテムのリストがあります。このようにソートすることは可能ですか?
注文したい値は次のとおりです。
解決済み
クローズド
オープン
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
提供された回答に加えて
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配列コレクションがDataGridの一部である場合は、DataGridのGridColumnでsortCompareFunctionを設定できます。このソート比較関数では、フィールドではなくグリッド列が渡されるため、構文が異なることに注意してください。
SparkDataGrid
で使用されるサンプルコード
private var desiredItemOrder:Array = ["In Progress", "Open", "Resolved", "Closed"];
private function sortCompareFunction(item:Object, anotherItem:Object, column:GridColumn = null):int
{
var itemIndex:Number = desiredItemOrder.indexOf(item.fields.status.name);
var anotherItemIndex:Number = desiredItemOrder.indexOf(anotherItem.fields.status.name);
if (itemIndex == -1 || anotherItemIndex == -1)
throw new Error("Invalid value for criticality ");
if (itemIndex == anotherItemIndex)
return 0;
if (itemIndex > anotherItemIndex)
return 1;
return -1;
}
<s:DataGrid dataProvider="{issuesCollection}">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="fields.status.name" headerText="Status" sortCompareFunction="sortCompareFunction"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
DOCUMENATION
ソートcompareFunctionDataGridColumnsortCompareFunction
GridColumn
sortCompareFunction