DataGridで数値順でソートさせる
DataGridで数値をソートさせようとおもったらちゃんとソートしてくれなかったのでメモのこしておきます。
DataGridColumnタグの中に属性「sortCompareFunction」を追加します。
値はソートのロジックを書いたメソッド名を指定すればおkです。
<mx:DataGrid id="datagrid" dataProvider="{xmlDoc.product}"
x="31" y="27" editable="true">
<mx:DataGridColumn headerText="価格" dataField="price" editorDataField="value" sortCompareFunction="sortPrice">
</mx:DataGrid>
ソート用のロジックはこんな感じ。
private function sortPrice(obj1:Object, obj2:Object):int {
var num1:Number = obj1.price;
var num2:Number = obj2.price;
if (num1 < num2) {
return -1;
} else if (num1 > num2) {
return 1;
} else {
return 0;
}
}