Flex中dataProvider绑定的是数组,但只有在定义并赋值时绑定数据才会在运行的时候显示,写在函数中不显示

<?xmlversion="1.0"encoding="utf-8"?><s:Applicationxmlns:fx="http://ns.adobe.com/mxml/... <?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ public var array:Array; public function init():void{ array= ["苹果", "香蕉", "牛奶", "d", "a", "b", "c", "d"]; trace(array); } ]]> </fx:Script> <mx:Canvas x="0" y="0" width="100%" height="100%"> <mx:DataGrid x="0" y="68" width="676" height="383" id="productdata" dataProvider="{array}" fontFamily="Times New Roman" fontSize="14"> <mx:columns> <mx:DataGridColumn headerText="商品名称" dataField="name"/> <!--<mx:DataGridColumn headerText="商品类别" dataField="type"/> <mx:DataGridColumn headerText="商品价格" dataField="price"/> <mx:DataGridColumn headerText="剩余数量" dataField="num"/>--> </mx:columns> </mx:DataGrid> <mx:ApplicationControlBar x="0" y="0" height="70" width="676"> </mx:ApplicationControlBar> </mx:Canvas></s:Application>

以上为程序的代码,在函数init()中给数组进行了赋值,然后在DataGrid中绑定数组,但是在运行的时候不显示所赋的值,如果在array定义的时候就直接赋值的话,在运行的时候会显示值,为什么啊?
展开
 我来答
百度网友ae5d4c8
2015-07-06 · TA获得超过655个赞
知道小有建树答主
回答量:728
采纳率:100%
帮助的人:730万
展开全部
你应该使用绑定标签

[Bindable]
public var array:Array;

这样应该就可以了
追问
大神,昨天我就试了这个方法,已经成功了,但是不理解什么原理,为啥需要绑定标签?求解释
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式