我有一个由客户数据填充的AdvancedDataGrid。每个客户都有3个月产品(1,3,6),还有一个passed字段,指定客户是否符合任何月度产品的条件。
现在网格正在按字母顺序对客户数据进行排序,这是一件好事,但它不是对每月的产品进行排序,不是那么好。
dataProvider看起来就像这样。(我是按Funder分组)
{Funder:"Customer1", Product:"1 Month", Passed:"False"},
{Funder:"Customer1", Product:"3 Month", Passed:"True"},
{Funder:"Customer1", Product:"6 Month", Passed:"True"},
{Funder:"Customer2", Product:"1 Month", Passed:"False"},
{Funder:"Customer2", Product:"3 Month", Passed:"False"},
{Funder:"Customer2", Product:"6 Month", Passed:"False"}我在网格中得到的结果如下所示
----------------------------------------
| Funder & Products | Product Passed |
----------------------------------------
| Customer1 | |
| 6 Month | True |
| 3 Month | True |
| 1 Month | False |
| Customer2 | |
| 3 Month | False |
| 6 Month | False |
| 1 Month | False |
----------------------------------------对产品的分类也有帮助吗?
编辑:
下面是我为网格使用的代码
<mx:AdvancedDataGrid id="myADG"
width="100%" height="100%"
initialize="gc.refresh();"
folderClosedIcon="{null}"
folderOpenIcon="{null}"
defaultLeafIcon="{null}">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{mCustomerData}">
<mx:grouping>
<mx:Grouping>
<mx:GroupingField name="Funder"/>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="Product"
headerText="Funder & Products"/>
<mx:AdvancedDataGridColumn dataField="Passed"
headerText="Product Passed"/>
<mx:AdvancedDataGridColumn dataField="Passed"
headerText="Product Failed"/>
</mx:columns>
</mx:AdvancedDataGrid>发布于 2010-07-15 13:40:23
好吧,所以我找到了一个对我有用的解决方案。下面是。
基本上,在creationComplete上,我调用了执行以下操作的sortData函数。
private function sortData():void {
var sort:Sort = new Sort();
var sortField:SortField = new SortField("Product");
sort.fields = [sortField]; // Set 'Product' as the field to be sorted on
myADG.dataProvider.sort = sort; // Add the sort to the dataProvider of the dataGrid
gc.source.refresh(); // Refresh the GroupCollection
}希望能看到另一种方法,因为我不认为这是唯一的方法。
发布于 2010-07-15 10:47:48
为了所有的目的和目的,网格不对数据进行排序。它只显示按您指定的顺序提供的数据。dataProvider必须由您排序,并且网格将相应更新。
如果要通过单击列标题进行排序,请查看AdvancedDataGridColumn上的AdvancedDataGridColumn
如果您使用的是ArrayCollection或XMLListCollection,那么看看这个文档如何对其进行排序。
发布于 2012-09-18 12:52:42
同样的问题,并在Adobe的网站上找到了解决方案:
如何在AdvancedDataGrid中对组中的项进行排序
您可以编写比较函数并在分组字段中使用它。
https://stackoverflow.com/questions/3253330
复制相似问题