首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AdvancedDataGrid列dataProvider?

AdvancedDataGrid列dataProvider?
EN

Stack Overflow用户
提问于 2011-07-12 13:21:46
回答 4查看 1.6K关注 0票数 1

我有一个AdvancedDataGrid,定义为:

代码语言:javascript
复制
<mx:AdvancedDataGrid id="mainGrid" width="200" height="200" designViewDataType="flat" >
    <mx:columns>
    </mx:columns>
</mx:AdvancedDataGrid>

我将动态地将列添加到网格中,主要问题是:

  • 如何将数组或向量设置为每个列的数据提供程序?

P.S.我用这个函数来填充数据:

代码语言:javascript
复制
private function buildUpTheGrid() : void    {

    masterColumns = new Array();
    masterData    = new Array();

    var tempColumn : AdvancedDataGridColumn;


    for( var iY : int = 0; iY < columsCount; iY++ )                 
    {
        masterData.push( new Array() );
        tempColumn           = new AdvancedDataGridColumn();
        tempColumn.width     = 20;

        for( var iX : int = 0; iX < rowsCount; iX++ )
            masterData[ iY ].push( iX );

    //  tempColumn.dataField = ???
        masterColumns.push( tempColumn );
    }

    mainGrid.columns = masterColumns;
    mainGrid.validateNow();
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-12 13:43:22

对“如何将数组或向量设置为每个列的数据提供程序”问题的简短回答:您不能。

flex中的数据“视图”都是基于行的,而不是基于列的。因此,要使其工作,需要将列转换为行。这是一个相当简单的算法,我相信你能搞清楚。

至于动态添加列,只需将列添加到数组中,然后在网格的“columns”属性中设置该数组。您需要在列上设置一个'dataField‘属性,以便知道您刚刚转换过的行数据中要显示哪个数据属性。

票数 2
EN

Stack Overflow用户

发布于 2011-07-12 13:44:54

代码语言:javascript
复制
How to setup an array or vector as dataprovider to each Column ?

在DataGrid和AdvancedDataGrid的体系结构中,单独的列没有自己的、独立的dataProviders。要在组件上设置dataProvider,可以执行以下操作:

代码语言:javascript
复制
<mx:AdvancedDataGrid id="mainGrid" dataPRovider="{myDataProvider}" >

在ActionScript中,您可以像这样设置dataProvider:

代码语言:javascript
复制
mainGrid.dataProvider = myDataProvider

如果有来自需要在单个DataGrid中显示的无数不同源的数据,则应该尝试将这些数据组合到单个dataProvider中;使用一些公共元素,例如数据库主键值。创建一个包含每个单独元素的对象应该可以工作。在概念上是这样的:

代码语言:javascript
复制
public class myCombinedObject{
 public var commonElement : int;
 public var fromDataProvider1 : myCustomDataClass1;
 public var fromDataProvider2 : myCustomDataClass2;
}

从那里开始,只需为每一列编写itemRenderers以显示相关数据。

票数 1
EN

Stack Overflow用户

发布于 2011-07-12 13:45:11

通常,我们会将数据提供程序设置为Datagrid。在列中,我们可以设置数据字段,它将从数据提供程序的对象中获取要在特定列中显示的属性。您的目标是使列来自不同的数组吗?在这种情况下,这将是一个棘手的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6664832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档