我正在尝试将来自服务器的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是否存在一些不同的功能或实现。
这里有什么问题吗?
答案 0 :(得分:2)
dg.dataProvider=someArrayCollfromServer;
只是将变量someArrayCollfromServer
的当前值(如果尚未填充,则可能为null)分配给dataProvider
。要获取数据绑定,请将该行替换为:
BindingUtils.bindProperty(dg, "dataProvider", this, "someArrayCollfromServer");
并确保someArrayCollfromServer
为[Bindable]