我使用的是Flex型dataGrid,需要对我的一些列进行数字排序。
查看sortCompareFunction,似乎我需要为要排序的每一列创建一个不同的函数,因为我的排序函数必须知道它在哪个字段上排序。
有什么方法可以把要排序的字段传递到函数中吗?所以我只需要一个数字排序函数。
发布于 2009-04-06 18:11:40
如果您使用的是带有XML dataProvider的DataGrid,这对我很有效(根据Alex的回答进行了修改):
private function xmlDataGridNumericSorter(field:String):Function
{
return function (obj1:Object, obj2:Object):int
{
var num:Number = ((Number)(obj1.attribute(field)) - (Number)(obj2.attribute(field)));
return (num > 0) ? 1 : ((num < 0) ? -1 : 0);
}
}和
dataGridColumn.sortCompareFunction = xmlDataGridNumericSorter(xmlAttribute.name().toString());这是一个非常好的解决方案,考虑到这可能是一个多么常见的过程..
谢谢Alex,希望这能进一步帮助人们。
发布于 2009-11-23 06:54:37
我没有使用数字函数进行排序-而是执行了以下操作:
arrayCollObject.addItem({Col1: rowData,Col2: parseFloat(rowData1)});
这似乎正确地进行了排序。
https://stackoverflow.com/questions/284164
复制相似问题