具有数据提供者的数据网格是否可以使一个列具有不同的数据提供者?

时间:2011-11-28 08:07:55

标签: actionscript-3 flex actionscript

我有一个datagrid,它由ArrayList填充。我想要一个列由另一个ArrayList填充。我尝试过这样做,但只填充前三列,而不是最后一列(使用不同的ArrayList):

<s:DataGrid x="10" y="281" width="597" height="204" dataProvider="{arEvents}"
            requestedRowCount="4">
    <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="title" headerText="Column 1" ></s:GridColumn>
            <s:GridColumn dataField="venue.location.geopoint" headerText="Column 2"></s:GridColumn>
            <s:GridColumn dataField="startDate" headerText="Column 3"></s:GridColumn>
            <s:GridColumn dataField="{arArtistsPerEvent}" headerText="Column 3"></s:GridColumn>
        </s:ArrayList>
    </s:columns>
</s:DataGrid>

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。这将打破datagrid和dataprovider的目的。

一种解决方案是解析第二个列表并将其值放在第一个列表中。

for(var i:int=0; i<arArtistsPerEvent.length; i++) {
    arEvents.getItemAt(i).artistsPerEvent=arArtistsPerEvent.getItemAt(i);
}

然后让dgColumn像

<s:GridColumn dataField="artistsPerEvent" headerText="Column 3"></s:GridColumn>