我目前正在尝试使用HTTPService
从id="produktMatrix_data"
填充带有xml的flex 3 AdvancedDatagrid。布局如下:http://pastebin.com/NqFqgj86
结果应如下所示:
KID,M ..等更多行将由其他来源填充,硬编码或用户输入,超出了本问题的范围。
我的AdvencedDataGrid代码如下:
<mx:AdvancedDataGrid dataProvider="{matrixProvider}">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Zielprodukt" dataField="prod_txt" editable="false" >
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="KID" dataField="kid" editable="true" editorDataField="selectedItem" >
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="MVLZ-Bezug" dataField="mvlz_bez" >
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="MVLZ-Dauer" dataField="mvlz_dauer">
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="MVLZ-Einheit" dataField="mvlz_einheit">
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="Status" dataField="status" editable="true">
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="Prämierung" dataField="praemie" editable="true">
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="Gültig ab" dataField="datum_ab" editable="true">
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="Gültig bis" dataField="datum_bis" editable="true">
</mx:AdvancedDataGridColumn>
</mx:columns>
dataProvider
已编码:
<mx:GroupingCollection id="matrixProvider" source="{produktMatrix_data.lastResult.result.pos.entry}" childrenField="undefined">
<mx:Grouping>
<mx:GroupingField name="portfolio"/>
<mx:GroupingField name="layer"/>
<mx:GroupingField name="cluster"/>
<mx:GroupingField name="prod_txt"/>
</mx:Grouping>
</mx:GroupingCollection>
但是这不会填充AdvancedDataGrid。那么,我如何调整我的代码才能使其工作?或者我应该选择一种完全不同的方法?
答案 0 :(得分:2)
在livedocs网站上有一个非常好的例子:
http://livedocs.adobe.com/flex/3/html/help.html?content=advdatagrid_08.html
基本上,你把groupingcollection放在datagrid中,(copy / paste)看起来像这样:
<mx:AdvancedDataGrid id="myADG"
width="100%" height="100%"
initialize="gc.refresh();">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{dpFlat}">
<mx:Grouping>
<mx:GroupingField name="Region"/>
<mx:GroupingField name="Territory"/>
</mx:Grouping>
</mx:GroupingCollection>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="Region"/>
<mx:AdvancedDataGridColumn dataField="Territory"/>
<mx:AdvancedDataGridColumn dataField="Territory_Rep"
headerText="Territory Rep"/>
<mx:AdvancedDataGridColumn dataField="Actual"/>
<mx:AdvancedDataGridColumn dataField="Estimate"/>
</mx:columns>
</mx:AdvancedDataGrid>