2010-11-13 14 views

回答

1
+0

我正在使用ListCollectionView,我必須應用行的排序,我有自定義ItemRenderer。 – user365559 2010-12-07 23:05:46

+0

太棒了!這是否意味着你的問題得到了解答? – JeffryHouser 2010-12-08 01:16:07

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); 
} 

這並不按字母順序排序。