首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按值对ArrayCollection进行排序

如何按值对ArrayCollection进行排序
EN

Stack Overflow用户
提问于 2012-09-04 21:26:35
回答 1查看 2.2K关注 0票数 1

我在ArrayCollection中有一个项目列表,我希望按某个值(而不是字母顺序)进行排序。有可能这样分类吗?

以下是我希望被排序的值:

已解决

关着的不营业的

打开

代码语言:javascript
复制

,除了提供的答案

代码语言:javascript
复制

如果数组集合是DataGrid的一部分,那么可以在DataGrid的GridColumn上设置sortCompareFunction。注意,这种排序比较函数的语法是不同的,因为网格列in是传入的,而不是字段。

示例代码

与星火DataGrid连用

代码语言:javascript
复制
        private var desiredItemOrder:Array = ["In Progress", "Open", "Resolved", "Closed"];

        private function sortCompareFunction(item:Object, anotherItem:Object, column:GridColumn = null):int
        {
            var itemIndex:Number = desiredItemOrder.indexOf(item.fields.status.name);
            var anotherItemIndex:Number = desiredItemOrder.indexOf(anotherItem.fields.status.name);

            if (itemIndex == -1 || anotherItemIndex == -1)
                throw new Error("Invalid value for criticality ");
            if (itemIndex == anotherItemIndex)
                return 0;
            if (itemIndex > anotherItemIndex)
                return 1;
            return -1;
        }


        <s:DataGrid dataProvider="{issuesCollection}">
            <s:columns>
                <s:ArrayList>
                    <s:GridColumn dataField="fields.status.name" headerText="Status" sortCompareFunction="sortCompareFunction"/>
                </s:ArrayList>
            </s:columns>
        </s:DataGrid>

文档化

排序compareFunction

DataGridColumn sortCompareFunction

GridColumn sortCompareFunction

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-04 21:32:05

这可能对你有帮助。

用Flex对ArrayCollection进行排序

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12271581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档