弹性数组集合排序不起作用



我正在尝试对存储在数组集合中的字符串列表进行排序。但是排序的结果不正确。请参阅我的代码。

spark.collections.Sort
if(value is ArrayCollection){
            var sort:Sort=new Sort();
            var sortField:SortField = new SortField("data")
            sortField.numeric=false;
            sort.fields=[sortField];
            ArrayCollection(value).sort=sort;
            ArrayCollection(value).refresh();
        }

输入:开头为,包含结尾为,等于忽略大小写,不等于,匹配等于

输出:等于忽略大小写,包含结尾为,入手不等于,匹配等于

有时

只有一行与另一行交换(如上所述),有时根本没有排序。

如果您的数组集合具有字符串列表。 您不需要指定 SortField 的名称,您的案例data .

            var value:ArrayCollection = new ArrayCollection(['Start With','Contains','End With','Equals IgnoreCase','Not Equals','Equals']);
            var dataSortField:SortField = new SortField(); //Leave it empty.
            dataSortField.numeric = false;
            var dataSort:Sort = new Sort();
            dataSort.fields=[dataSortField];
            value.sort = dataSort;
            value.refresh();

o/p:

   "value"  mx.collections.ArrayCollection (@31ced61)   
[0] "Contains"  
[1] "End With"  
[2] "Equals"    
[3] "Equals IgnoreCase" 
[4] "Not Equals"    
[5] "Start With"

如果数组集合具有带有数据属性的对象,则您的代码是绝对正确的。喜欢

            var value:ArrayCollection = new ArrayCollection();
            value.addItem({data:'Start With'});
            value.addItem({data:'Contains'});
            value.addItem({data:'End With'});
            value.addItem({data:'Equals IgnoreCase'});
            value.addItem({data:'Not Equals'});
            value.addItem({data:'Equals'});

这种情况您需要指定,例如

var sortField:SortField = new SortField("data");

相关内容

  • 没有找到相关文章

最新更新