DataGridのデータ追加と削除[ArrayCollection版]

by _wonder
♥0 | Line 35 | Modified 2009-12-18 12:39:09 | MIT License
play

ActionScript3 source code

/**
 * Copyright _wonder ( http://wonderfl.net/user/_wonder )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/qEh1
 */

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()" pageTitle="要素の追加・削除:コレクション">
	<mx:Script>
	<![CDATA[
    import mx.collections.*;
	import mx.controls.Alert;
	
    // 元となるデータを作成
    private var def_array:Array = [
        {name:'suzuki',money:500,number:1},
        {name:'sato',money:300,number:2}
    ];

    // データをバインドさせる
    [Bindable]
    public var data_array:ArrayCollection;

    // ArrayCollectionを作成する
    public function init():void{
        data_array = new ArrayCollection(def_array);
    }
	
	private function btn_click_add():void{
		data_array.addItemAt({name:'suzuki',money:500,number:1},1);
	}
	
	private function btn_click_remove():void{
		if(dg.selectedIndex >= 0){
		    data_array.removeItemAt(dg.selectedIndex);
		}
	}
    ]]>
	</mx:Script>
	<mx:DataGrid dataProvider="{data_array}" id="dg">
        <mx:columns>
            <mx:DataGridColumn dataField="name" headerText="名前" />
            <mx:DataGridColumn dataField="money" headerText="金額" />
            <mx:DataGridColumn dataField="number" headerText="番号" />
        </mx:columns>
    </mx:DataGrid>
	<mx:Button label="要素の追加" click="btn_click_add()" />
	<mx:Button label="要素の削除" click="btn_click_remove()" />
</mx:Application>