我有一个正在由客户数据填充的AdvancedDataGrid。每个客户有3个月产品(1,3,6),还有一个passed
字段,指定客户是否有资格获得任何月度产品。Flex AdvancedDataGrid排序
现在网格按字母顺序排列客户数据,这是一件好事,但它并不排序每月的产品,而不是那么好的东西。
dataProvider看起来像这样。 (我被出资者分组。)
{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>
我知道网格不会为您排序数据。事情是,数据被排序并且网格以随机顺序显示它。我需要一种方法来以正确的方式显示数据。谢谢你提出了sortCompareFunction,试过了,但它没有奏效。 – 2010-07-15 13:23:06
从您的问题“网格正在整理客户数据”。我发现很难相信网格会对您的数据做任何处理。如果您单击其中一个标题对数据进行排序,则sortCompareFunction将仅起作用。您对于creationComplete上的数据应用排序的解决方案看起来很好。你以前没有对这些数据进行排序吗? – JeffryHouser 2010-07-15 13:47:37
不,我没有应用排序之前,但数据按字母顺序排序,即使它没有排序在dataProvider中。我想这可能是按照字母顺序排列dataProvider的分组? – 2010-07-16 06:35:04