Flex / actionscript:在AdvancedDataGrid上使用dataDescriptor

时间:2009-05-28 13:47:52

标签: flex advanceddatagrid

我有一个分层数据集,我想在advancedDataGrid中显示。我的数据是一组不使用'children'属性的组合值对象。在Tree控件上,您可以创建自定义dataDescriptor以定义哪些元素包含节点的子节点。这可以在数据网格上完成吗?

2 个答案:

答案 0 :(得分:0)

分层数据有一个childrenField属性,您可以使用它来“告诉”控件在何处查找分支。

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

答案 1 :(得分:-2)

从AdvancedDataGrid示例上的Adobe live docs,您可以看到您可以将AdvancedDataGrid的dataProvider设置为GroupingCollection实例,以便为您的数据创建一些组。在类层次结构中,有HierarchicalData,在AdvancedDataGrid上设置dataProvider时需要使用它。示例(抱歉使用数组而不是一个XML):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
    <mx:Array id="dianaSerfes">
        <mx:Object name="geen" surname="zod" />
    </mx:Array>
    <mx:Array id="xySerfs">
        <mx:Object name="sdf" surname="sdfsdgd" />
    </mx:Array>
    <mx:Array id="johnSerfs">
        <mx:Object name="jack" surname="the ripper" />
        <mx:Object name="diana" surname="bloom" serfs="{dianaSerfes}"/>
    </mx:Array>
    <mx:Array id="myData">
        <mx:Object name="xy" surname="zzz" serfs="{xySerfs}" />
        <mx:Object name="blue" surname="zed" />
        <mx:Object name="John" surname="smith" serfs="{johnSerfs}" />
    </mx:Array>
    <mx:AdvancedDataGrid width="100%" height="100%">
        <mx:dataProvider>
            <mx:HierarchicalData id="hd" source="{myData}" childrenField="serfs" />
        </mx:dataProvider>
        <mx:columns>
            <mx:AdvancedDataGridColumn dataField="name" />
            <mx:AdvancedDataGridColumn dataField="surname" />
        </mx:columns>
    </mx:AdvancedDataGrid>
</mx:Application>