在 datagrid 上排序也会在 flex 中对空值进行排序
Sort on datagrid also sort null values in flex
今天我在数据网格中遇到了一些奇怪的问题。
<s:DataGrid id="grid_result" dataProvider="{somelist}" sortableColumns="true">
我有数据网格,在顶部 header 单击它对列进行排序,假设这是该列。
<s:GridColumn headerText="Temp" dataField="tempName">
它将显示 someList 中的 tempName。但是有些数据是空的。因此,当我在此列的 header 上对此列进行排序时,单击它也会对空值进行排序。
点赞显示:
A
B
.
.
l
m
blank cell
blank cell
o
p
.
.
Z
m后o前考虑null值。我认为它将 null 视为 n(我对此可能是错误的)。
我想最后显示空值。我搜索了很多但没有找到任何解决方案。
非常感谢任何帮助。
您可以创建自定义 sortCompareFunction
并强制使用 SortingCollator
class,这应该可以处理 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">
今天我在数据网格中遇到了一些奇怪的问题。
<s:DataGrid id="grid_result" dataProvider="{somelist}" sortableColumns="true">
我有数据网格,在顶部 header 单击它对列进行排序,假设这是该列。
<s:GridColumn headerText="Temp" dataField="tempName">
它将显示 someList 中的 tempName。但是有些数据是空的。因此,当我在此列的 header 上对此列进行排序时,单击它也会对空值进行排序。
点赞显示:
A
B
.
.
l
m
blank cell
blank cell
o
p
.
.
Z
m后o前考虑null值。我认为它将 null 视为 n(我对此可能是错误的)。
我想最后显示空值。我搜索了很多但没有找到任何解决方案。
非常感谢任何帮助。
您可以创建自定义 sortCompareFunction
并强制使用 SortingCollator
class,这应该可以处理 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">