Actionscript 3 使用分组集合对高级DataGrid进行排序
我包装了一个先进的datagrd和分组选项来显示数据。 在我的例子中,我想显示作者列表和他们的书Actionscript 3 使用分组集合对高级DataGrid进行排序,actionscript-3,apache-flex,air,Actionscript 3,Apache Flex,Air,我包装了一个先进的datagrd和分组选项来显示数据。 在我的例子中,我想显示作者列表和他们的书 <mx:AdvancedDataGrid height="350" displayItemsExpanded="true"> <mx:dataProvider> <mx:GroupingCollection2 id="groupingCollection" source="{bookList}"> <
<mx:AdvancedDataGrid height="350"
displayItemsExpanded="true">
<mx:dataProvider>
<mx:GroupingCollection2 id="groupingCollection"
source="{bookList}">
<mx:grouping>
<mx:Grouping>
<mx:GroupingField name="author"
/>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection2>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="author"
width="150"/>
<mx:AdvancedDataGridColumn dataField="birthday"
width="100"/>
<mx:AdvancedDataGridColumn dataField="title"
width="250"/>
<mx:AdvancedDataGridColumn dataField="dateOfPublication"
width="150"
/>
</mx:columns>
但即使我的数据提供者在开始时是按发布日期排序的,在分组后,每个组中的顺序都会丢失
您知道如何在每个组的发布日期之前强制重新订购吗
谢谢,GroupingCollection2似乎破坏了现有的数据源 您需要为每个GroupFields定义一个排序函数-查看GroupFields compareFunction的文档。例如:
<mx:GroupingField name="author" compareFunction="sortByDate"/>
private function sortByDate(item1:Object, item2:Object) : int
{
// Whatever comparison function you want
}