有没有办法可以在flex中按字母顺序对datagrid中的项目进行排序

时间:2010-11-13 22:40:39

标签: flex

我想按名称的字母顺序对数据网格中的项目进行排序。顺序应为:

1)名称首先应检查名称的upeercase,如果不是,则应按字母顺序查找相同字母的小写字母。

例如:如果我有一系列项目说{Apple,boy,ant,Bat)那么在对列表进行排序后,请

苹果 蚂蚁 蝙蝠 男孩

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

<mx:DataGrid id="planGrid" width="100%" height="100%" sortableColumns="true" resizableColumns="true" dragMoveEnabled="false" dragEnabled="false" draggableColumns="false" dataProvider="{contrList.dataProvider}"click="{displayPropertiesForPlan(event);}">
    <mx:columns>
        <mx:DataGridColumn sortCompareFunction="compareTypes" headerText="{msg('planner.editplan.name')}" wordWrap="true" itemRenderer="net.velti.mgage.mkt.views.campaignplans.planlist.NameItemRenderer" />
        <mx:DataGridColumn width="200" headerText="{msg('planner.plans.grid.head.Status')}" itemRenderer="net.velti.mgage.mkt.views.campaignplans.planlist.StatusItemRenderer"/>
        <mx:DataGridColumn id="dateColumn" width="250" headerText="{msg('planner.plans.grid.head.created')}" labelFunction="dateFunc" />
        <mx:DataGridColumn sortCompareFunction="sortBudget" id="budgetColumn" width="120" headerText="{msg('planner.plans.grid.head.BudgetWithSign')}" labelFunction="budgetFunc" />
    </mx:columns>
</mx:DataGrid>

我的排序比较功能是:

private function compareTypes(typeOne:Object, typeTwo:Object):int
{
    var nameA:String = typeOne.name;
    var nameB:String = typeTwo.name;
    return ObjectUtil.stringCompare(nameA,nameB);
}

这不按字母顺序排序。