天天看點

Flex 動态資料綁定

<?xml version="1.0"?>

<mx:Application initialize="init()" xmlns:mx="http://www.adobe.com/2006/mxml"

layout="absolute" width="600" fontFamily="宋體" fontSize="12">

<mx:Script>

<![CDATA[

import mx.binding.utils.BindingUtils;

import mx.collections.ArrayCollection;

import mx.controls.*;

import mx.controls.dataGridClasses.*;

import mx.utils.ObjectProxy;

private var DataGrid1:DataGrid;

[Bindable]

public var dt:ArrayCollection = new ArrayCollection([{id:1,name:"蘋果",count:100},

{id:2,name:"西瓜",count:200},

{id:3,name:"水蜜桃",count:50}]);

private function init():void{

DataGrid1 = new DataGrid()

DataGrid1.x = 10

DataGrid1.y = 30

DataGrid1.width = 275

addChild(DataGrid1)

crColumn();//用腳本增加列

BindingUtils.bindProperty( DataGrid1, "dataProvider" , dt,"source" );

}

private function crColumn():void{

var col:DataGridColumn;

col = new DataGridColumn();

col.headerText = "序号";

col.dataField = "id";

DataGrid1.columns = DataGrid1.columns.concat(col);

col = new DataGridColumn();

col.headerText = "名稱";

col.dataField = "name";

DataGrid1.columns = DataGrid1.columns.concat(col);

col = new DataGridColumn();

col.headerText = "數量";

col.dataField = "count";

DataGrid1.columns = DataGrid1.columns.concat(col);

}

private function changeData():void{

dt.source = [{id:1,name:"好用",count:100},

{id:2,name:"測試",count:200},

{id:3,name:"水蜜桃",count:50}]

}

]]>

</mx:Script>

<mx:DataGrid id="DataGrid2" dataProvider="{dt}" width="275" y="30" right="10">

<mx:columns>

<mx:DataGridColumn headerText="序号" dataField="id"/>

<mx:DataGridColumn headerText="名稱" dataField="name"/>

<mx:DataGridColumn headerText="數量" dataField="count" editorDataField="value"/>

</mx:columns>

</mx:DataGrid>

<mx:Button label="check" click="changeData()"/>

<mx:Label x="440" y="10" text="mxml"/>

<mx:Label x="104" y="10" text="actionscript"/>

</mx:Application>