DataGrid の拡張 (1)


  メソッド部分を .as ファイルに分割



LboxGrid.mxml
  
<?xml version="1.0" encoding="utf-8"?>
<mx:DataGrid height="400" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script source="M_AddRow.as"/>

	<!-- *************************************************** -->
	<!-- デフォルト列定義 -->
	<!-- *************************************************** -->
	<mx:columns>
		<mx:DataGridColumn headerText="項目1" dataField="COL1" width="50"/>
		<mx:DataGridColumn headerText="項目2" dataField="COL2" width="150"/>
		<mx:DataGridColumn headerText="項目3" dataField="COL3" width="100"/>
		<mx:DataGridColumn headerText="項目4" dataField="COL4" width="100"/>
		<mx:DataGridColumn headerText="項目5" dataField="COL5" width="100"/>
		<mx:DataGridColumn headerText="項目6" dataField="COL6" width="100"/>
	</mx:columns>

</mx:DataGrid>
  

M_AddRow.as
  
// 初回( 行が存在しない )フラグ
private var init_flg:int = 1;
// カレント行( -1 は先頭行の前 )
private var cur_row:int = -1;

import mx.controls.*;
import mx.collections.*;

// *************************************************
// 行追加
// 引数は配列
// このバージョンでは、配列の要素は必ず6つ必要
// このバージョンでは、初期に列は6つ固定
// *************************************************
public function AddRow(cols:Array):void {

	// 初回処理
	if ( this.init_flg == 1 ) {
		this.init_flg = 0;
		// dataProvider に実体をセット
		this.dataProvider = new ArrayCollection();
		// 先頭行を選択状態にする
		this.selectedIndex = 0;
	}

	// 行データをセットする Object を作成
	var obj:Object = new Object();

	// obj( 行データ ) の プロパティに値をセット
	obj["COL1"] = cols[0];
	obj["COL2"] = cols[1];
	obj["COL3"] = cols[2];
	obj["COL4"] = cols[3];
	obj["COL5"] = cols[4];
	obj["COL6"] = cols[5];

	// obj( 行データ )を追加
	this.dataProvider.addItem(obj);

	// 現在行の設定
	this.cur_row++;

}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ