Flex技術メモ:DataGridコントロールの値はArray又はArrayCollectionを使う。

 DataGridコントロールの初期表示の方法に以下の2種類が現時点である。問題は、配列とイベントスクリプトだ。

【 Array配列を使用した例 】
<?xml version=”1.0″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” initialize=”initData()“>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private var DataGridArray:Array = [
{Data1:”1-1.Data”, Data2:1.05},
{Data1:”2-1.Data”, Data2:2.05}];
[Bindable]
public var initGridData:ArrayCollection;
public function initData():void {
initGridData=new ArrayCollection(DataGridArray);
}
]]>
</mx:Script>
<mx:DataGrid dataProvider=”{initGridData}” >
<mx:columns>
<mx:DataGridColumn dataField=”Data1″ />
<mx:DataGridColumn dataField=”Data2″ />
</mx:columns>
</mx:DataGrid>
</mx:Application>
【 ArrayCollection配列を使用した例 】
<?xml version=”1.0″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var initGridData:ArrayCollection = new ArrayCollection([
{Data1:”1-1.Data”, Data2:1.05},
{Data1:”2-1.Data”, Data2:2.05}]);
]]>
</mx:Script>
<mx:DataGrid dataProvider=”{initGridData}” >
<mx:columns>
<mx:DataGridColumn dataField=”Data1″ />
<mx:DataGridColumn dataField=”Data2″ />
</mx:columns>
</mx:DataGrid>
</mx:Application>

上記の【 ArrayCollection配列を使用した例 】は[Bindable]指定をしないと、データプロバイダー”{initGridData}”プロパティに対してビルド時に警告が表示されるが、実行には問題は無い。どちらを使うかと言えば、利用しやすい下記のArrayCollection例を使う。

 

< TOPへ >