Je suis actuellement en train d'essayer de remplir un flexible 3 AdvancedDatagrid avec xml reçu d'un HTTPService
avec id="produktMatrix_data"
. La disposition est la suivante: http://pastebin.com/NqFqgj86 Le résultat devrait ressembler à: Les lignes supplémentaires comme KID, M .., etc. seront peuplées par d'autres sources, seront codées en dur, ou par l'entrée de l'utilisateur et sont hors de portée de cette question . Mon code pour le AdvencedDataGrid est la suivante:Flex AdvancedDatagrid remplissant avec groupingCollection basé sur xml
<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>
Le dataProvider
est codé:
<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>
Mais cela ne remplit pas le AdvancedDataGrid. Alors, comment dois-je modifier mon code pour le faire fonctionner? Ou devrais-je choisir une approche complètement différente?
J'ai dû ajouter matrixProvider.refresh() à la fonction qui appelle produktMatrix_data.send(). Maintenant ça marche. Au début, je pensais que cela n'avait pas d'importance, que la collection de regroupement soit construite dans le dataProvider ou utilisée via la liaison de données. – omnibrain
Lors de l'utilisation d'une collection de regroupement, vous devrez mettre à jour le dataProvider via l'actualisation, sinon la plupart des fournisseurs de données fonctionnent comme prévu, la simple mise à jour mettra à jour tout ce à quoi ils sont liés. Les Advanced Data Grids ne sont pas mes meilleurs amis. – Organiccat