通过ActionScript将数据绑定到DataGrid

时间:2010-06-29 06:35:02

标签: flex actionscript-3 datagrid

我正在尝试将来自服务器的ArrayCollection结果绑定到我的DataGrid 在AS中动态创建。

结果数据未在网格中显示。

var dg:DataGrid = new DataGrid();
dg.width=650; 
dg.dataProvider=someArrayCollfromServer;

我是根据XML中的一些数据将dgColumn添加为运行时,它与下面静态格式中定义的相同。

但是,如果我使用相同的代码并将DataGrid创建为Flex组件,如下所示,它可以正常工作。

<mx:DataGrid id="dg" width="100%" height="100%" dataProvider="{someArrayCollfromServer}">
<mx:columns>
<mx:DataGridColumn dataField="Value" headerText="Value"/>
<mx:DataGridColumn dataField="Code" headerText="Code" />
</mx:columns>
</mx:DataGrid>

这很好用。就Flex和AS而言,DataGrid是否存在一些不同的功能或实现。

这里有什么问题吗?

1 个答案:

答案 0 :(得分:2)

dg.dataProvider=someArrayCollfromServer;只是将变量someArrayCollfromServer的当前值(如果尚未填充,则可能为null)分配给dataProvider。要获取数据绑定,请将该行替换为:

BindingUtils.bindProperty(dg, "dataProvider", this, "someArrayCollfromServer");

并确保someArrayCollfromServer[Bindable]