flex 自带数据库导出数据result怎么转成ArrayCollection 加载到DataGrid我这样写不对啊
如题:
新手 很多地方不懂 找不到资料参考 麻烦各位了。给修正下代码谢谢谢谢!
还有个问题数据库抽出来的数据不能直接呈现给客户要修改一下,这个动作是在result赋值给ArrayCollection的时候 还是在DataGrid里加工?
以下函数
var ac:ArrayCollection=new ArrayCollection;
var result:SQLResult = stmt.getResult();//上面代码就不列出来了
var i:int = result.data.length;
for(var j:int=0; j<i; j++){
var obj:Object=result.data[j] as Object;
ac.addItem(obj);
}
return ac;
以下为MXML 没全列出 photoArrdata为调用函数后取得的ArrayCollection对像
<mx:DataGrid x="10" y="10" width="271" dataProvider="{photoArrdata}">
<mx:columns>
<mx:DataGridColumn headerText="id" dataField="id"/>
<mx:DataGridColumn headerText="outname" dataField="outname"/>
</mx:columns>
</mx:DataGrid>
[解决办法]
没有试过flex自带的数据库,一般的做法是,后台返回一个List<Object>的集合,然后flex端直接使用就行了。
[Bindable]
var ac:ArrayCollection=event.result as ArrayCollection;
<mx:DataGrid x="10" y="10" width="271" dataProvider="{ac}">
<mx:columns>
<mx:DataGridColumn headerText="id" dataField="id"/>
<mx:DataGridColumn headerText="outname" dataField="outname"/>
</mx:columns>
</mx:DataGrid>
其中id,outname为object中的属性
[解决办法]
在result 函数中处理最后绑定到DataGrid上
绑定的数据源要加上[Bindable]
[Bindable]
var ac:ArrayCollection=new ArrayCollection;
自己调试下as是否正确的添加了数据