今天我在datagrid中遇到了一些奇怪的问题。
<s:DataGrid id="grid_result" dataProvider="{somelist}" sortableColumns="true">
我有datagrid并在顶部标题点击它对列进行排序,假设这是列。
<s:GridColumn headerText="Temp" dataField="tempName">
它将显示someList的tempName。但有些数据是空的。因此,当我在此列的标题上对此列进行排序时,单击它也将对空值进行排序。
喜欢它显示:
A
B
.
.
l
m
blank cell
blank cell
o
p
.
.
Z
在m之后和o之前考虑空值。我认为它认为null为n(我可能错了)。
我想最后显示空值。我有搜索批次但没有找到任何解决方案。
非常感谢任何帮助。
答案 0 :(得分:3)
您可以创建自定义sortCompareFunction
并强制使用SortingCollator
类,该类应该处理null
值。
private var collator:SortingCollator = new SortingCollator();
private function sortCompareFunction(obj1:Object, obj2:Object, gc:GridColumn):int {
return collator.compare(obj1[gc.dataField], obj2[gc.dataField]);
}
然后将其分配给GridColumn
。
<s:GridColumn headerText="Temp" dataField="tempName" sortCompareFunction="sortCompareFunction">