首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex AdavcedDatagrid排序区分大小写

Flex AdavcedDatagrid排序区分大小写
EN

Stack Overflow用户
提问于 2010-07-27 21:17:37
回答 3查看 1.2K关注 0票数 0

我有几个列不断变化的数据网格。对于文本字段,datagrid的排序函数需要进行区分大小写的比较。

例如:排序后的列表如下所示

代码语言:javascript
复制
apples
strawberries
Autos

汽车应该用苹果,但由于大写字母A的计算方式不同,所有的大写字母都跟在后面。

我已经找到了很多关于设置CASEINSENSITIVE标志的信息,但我不知道在哪里可以这样做。你能帮帮忙吗?最好的解决方案是,我可以覆盖所有数据网格和所有比较函数的默认行为,使其不区分大小写。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-27 22:07:57

票数 0
EN

Stack Overflow用户

发布于 2011-01-20 03:16:26

在数据网格列上设置sortCompareFunction

代码语言:javascript
复制
<mx:DataGridColumn dataField="name" headerText="Name" sortCompareFunction = sortCaseInsensitive  />

private function sortCaseInsensitive(obj1:Object, obj2:Object):int
    {
        return ObjectUtil.stringCompare(obj1.name, obj2.name, true);
    }
票数 1
EN

Stack Overflow用户

发布于 2010-07-27 22:04:12

排序将应用于基础数据提供程序。因此,您需要通过设置sort fields来改变排序的工作方式。您需要从头部捕获排序事件,并阻止它的默认行为,并对arraycollection进行动态排序。

代码语言:javascript
复制
protected function onHeaderRelease( event : AdvancedDataGridEvent ) : void {
    event.preventDefault();
    var sort : Sort = new Sort();
    sort.fields = [new SortField(event.dataField, true)];
    dataProvider.sort = sort;
    dataProvider.refresh();
}

请注意,这将停止呈现标题上的箭头。您还需要添加代码,以便在再次单击标题时反转排序。

带走信息,助理总干事真的是垃圾。

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

https://stackoverflow.com/questions/3343996

复制
相关文章

相似问题

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