我从PHP获取返回类型为数组。当我在我的数据网格中填充时,值不会出现......我不会解释为什么会发生这样的事情。
var appSes:Array = event.result as Array
dg.dataProvider = appSes;
我正在获取这些值,从PHP开始我还有其他任何事情。
<local:CheckBoxDataGrid id="dg"
allowMultipleSelection="true" x="118" y="142" width="507">
<local:columns>
<mx:DataGridColumn dataField="firstName" headerText=" " width="20" sortable="false" itemRenderer="CheckBoxRenderer" >
</mx:DataGridColumn>
<mx:DataGridColumn dataField="firstName" headerText="First Name" />
<mx:DataGridColumn dataField="lastName" headerText="Last Name" />
</local:columns>
</local:CheckBoxDataGrid>
答案 0 :(得分:0)
使用ArrayCollection而不是Array。通常,在绑定到列表,网格等的dataProviders时应始终使用ArrayCollections,因为它们可以识别属性更改,并且只要在其中添加,删除或更改对象,就会通知List。数组不提供此行为。
将您的var更改为此
var appSes:ArrayCollection = new ArrayCollection(event.result);
dg.dataProvider = appSes;
我倾向于将我的视图绑定到模型对象,而不是像你一样明确地设置它们。如果我创建一个新的ArrayCollection实例(例如,从服务器刷新数据时)的好处是,我可以正确更新,而不需要任何额外的工作。
因此,我会这样做:
<local:CheckBoxDataGrid id="dg" dataProvider="{appSes}" ....