【问题标题】:Sort on datagrid also sort null values in flex在数据网格上排序也会对 flex 中的空值进行排序
【发布时间】:2016-05-07 00:42:06
【问题描述】:

今天我在数据网格中遇到了一些奇怪的问题。

<s:DataGrid id="grid_result" dataProvider="{somelist}" sortableColumns="true">

我有数据网格并在顶部标题上单击它对列进行排序假设这是列。

<s:GridColumn headerText="Temp" dataField="tempName">

它将显示来自 someList 的 tempName。但是有些数据是空的。因此,当我在此列的标题上对该列进行排序时,单击它也会对空值进行排序。

喜欢它的显示:

A
B
.
.
l
m
blank cell
blank cell
o
p
.
.
Z

它在 m 之后和 o 之前考虑空值。我认为它认为 null 为 n(我可能错了)。

我想最后显示空值。我搜索了很多,但没有找到任何解决方案。

非常感谢任何帮助。

【问题讨论】:

    标签: actionscript-3 apache-flex datagrid


    【解决方案1】:

    您可以创建自定义 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">
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 2010-09-10
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 2011-11-03
    相关资源
    最近更新 更多