Flex中dataProvider绑定数组,但只有在定义并赋值时绑定的数据运行时才显示,写在函数中不显示,以下为代码:
<?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定义的时候就直接赋值的话,在运行的时候会显示值,为什么啊?小弟初学者,没有金币,望大神能慷慨解答,不胜感激!