Flex AdvancedDatagrid基于xml填充groupingCollection [英] Flex AdvancedDatagrid populating with groupingCollection based on xml

查看:238
本文介绍了Flex AdvancedDatagrid基于xml填充groupingCollection的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正试图使用​​xml从 HTTPService 中填充一个flex 3 AdvancedDatagrid,其中 id =produktMatrix_data。布局如下:



基本上, (复制/粘贴)如下所示:

 < mx:AdvancedDataGrid id =myADG
width =100%height =100%
initialize =gc.refresh();>
< mx:dataProvider>
< mx:GroupingCollection id =gcsource ={dpFlat}>
< mx:GroupingField name =Region/>
< mx:GroupingField name =Territory/>
< / mx:分组>
< / 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 =估计/>
< / mx:columns>
< / mx:AdvancedDataGrid>


I'm currently trying to populate an flex 3 AdvancedDatagrid with xml received from a HTTPService with id="produktMatrix_data". The layout is as follows: http://pastebin.com/NqFqgj86 The result should look like: The further rows like KID, M.., etc. will be populated by other sources, be hardcoded, or by user input and are beyond scope of this question. My code for the AdvencedDataGrid is as follows:

<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>

The dataProvider is coded:

    <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>

But that doesn't populate the AdvancedDataGrid. So, how do I have to tweak my code to make it work? Or should I choose a completely differnt approach?

解决方案

There's actually a pretty good example of this on the livedocs site:

http://livedocs.adobe.com/flex/3/html/help.html?content=advdatagrid_08.html

Basically, it has you put the groupingcollection inside the datagrid, which (copy/paste) looks like this:

<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>

这篇关于Flex AdvancedDatagrid基于xml填充groupingCollection的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆