SQLの窓

2009年09月23日


Flex3 : DataGrid をユーザコントロール化したサンプルパッケージ

ブラウザでダウンロード

DataGrid のサンプルではありますが、こういう使い方は初心者向けではありません。( ソースコードは同梱しています )
今回の目的は、FlashVars の取得と右クリックで表示されるポップアップメニューの扱いがメインです。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
	xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns:my="winofsql.Controls.*"
	initialize="initData();"
>

<mx:Style source="Style.css" />
<mx:Style>
LboxGrid {
	color: black;
}
</mx:Style>

<mx:Script>
<![CDATA[

	import mx.controls.*;
	import mx.events.*; 
	import mx.formatters.*;
	import flash.external.*;
	import flash.events.*;
	import mx.collections.*;

	// **************************
	// アプリケーションの初期化
	// **************************
	public function initData():void {

		// パラメータをプロパティとして持つ Object を取得
		var param:Object = mx.core.Application.application.parameters;

		// LboxGrid 初期化
		grid.Reset();

		// ヘッダタイトルを表示
		grid.ShowHeader();

		// 高さを設定
		grid.width = 500;
		grid.height = 350;

		// 列を追加
		grid.AddColumn("KEY");
		grid.SetColumnWidth( 0, 200 );
		grid.AddColumn("VALUE", 300 );
		grid.AddColumn("TEXT");

		// LboxGrid に全てセット
		var i:int = 0;
		for (var key:* in param) { 
			grid.AddRow( key, param[key] );
		}

		// 行を選択しない
		grid.Unselect();

		// ダブルクリックを可能にする
		grid.doubleClickEnabled  = true;
		grid.addEventListener( MouseEvent.DOUBLE_CLICK, function( e:MouseEvent ):void {

			firebug( e.stageX - (grid.localToGlobal(new Point(grid.x,0))).x + 9 );

			var nIdx:int = grid.selectedIndex;
			Alert.show( grid.GetColumnText( nIdx, "COL1" ));
			grid.SetColumnText( nIdx, "COL1", "" );

		});

		// 右クリックメニュー
		var cMenu:ContextMenu = new ContextMenu();
		// 必要最低限の adobe メニューのみ表示
		cMenu.hideBuiltInItems();

		var cMenuItem:ContextMenuItem =
			new ContextMenuItem("SQLの窓");
		cMenuItem.addEventListener(
			ContextMenuEvent.MENU_ITEM_SELECT,
			function (event:ContextMenuEvent):void {
				var req:URLRequest = new URLRequest(
					"http://winofsql.jp/"
				);
				navigateToURL(req, "_blank");
			}
		);
		cMenu.customItems.push(cMenuItem);

		this.contextMenu = cMenu;

	}

	// **************************
	// ログ表示
	// **************************
	public function firebug(data:Object):void {
	
		var fmt:DateFormatter = new DateFormatter();
	
		fmt.formatString = "YYYY/MM/DD HH:NN:SS";
		var logdt:String = fmt.format( new Date );
	
		ExternalInterface.call(
			"console.log", logdt,
			data+""
		);
	
	}

]]>
</mx:Script>

<mx:Panel
	horizontalAlign="center"
	paddingLeft="10"
	paddingRight="10"
>
	<my:LboxGrid id="grid"/>

</mx:Panel>
</mx:Application>




【Flexの最新記事】
posted by lightbox at 2009-09-23 23:32 | Flex | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり