ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   超ビギナー
     [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 トピック
Cinba
投稿日時: 2007-6-14 7:44
超常連さん
登録日: 2006-5-21
居住地:
投稿: 47
Re: [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい
おはようございます。
enecoさんが書かれて通りArrayCollectionを使います。
で、要素の変更通知は、ArrayCollectionのitemUpdatedでやってあげます。
http://livedocs.adobe.com/flex/201_jp/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=about_dataproviders_057_11.html
以下の例ではコレクションの要素はObject型なので上記のような通知をやらないけませんが、Bindable属性が指定された型であればitemupdatedを使用しなくても自動的に通知されます。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;

public function onKeydown(e:KeyboardEvent):void
{
	dgOnKeydown(e);
}


public function dgOnKeydown(e:KeyboardEvent):void
{
	switch (e.keyCode)
	{
		case 32:
			if (e.currentTarget.selectedIndex > -1)
			{
				var ar : ArrayCollection = e.currentTarget.dataProvider as ArrayCollection;
				var item : Object = ar[e.currentTarget.selectedIndex];
				item.chk = !(item.chk);
				ar.itemUpdated(item); // これがミソ。(^.^)
			}
			break;
	}
}
			]]>
	</mx:Script>
    <mx:Array id="array1">
            <mx:Object name="koyabu" chk="false" />
            <mx:Object name="tsujimoto" chk="false" />
            <mx:Object name="yasuo" chk="false" />
    </mx:Array>

	<mx:DataGrid  height="266" tabIndex="680" id="dg" keyDown="onKeydown(event);"
		 dataProvider="{new ArrayCollection(array1)}">
	<mx:columns>
		<mx:DataGridColumn headerText="名前" dataField="name" width="100"/>
		<mx:DataGridColumn headerText="チェック" dataField="chk" editorDataField="selected">
			<mx:itemRenderer>
				<mx:Component>
                    <mx:Box horizontalAlign="center" verticalAlign="middle">
                        <mx:CheckBox  id="checkBox" width="12"
                            selected="{data.chk}" change="data.chk=checkBox.selected"/>
                    </mx:Box>
				</mx:Component>
			</mx:itemRenderer>
		</mx:DataGridColumn>
	</mx:columns>
</mx:DataGrid>

</mx:Application>
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい nobu 2007-6-13 16:41
     Re: [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい mmx 2007-6-13 18:09
       Re: [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい eneco 2007-6-13 19:59
       » Re: [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい Cinba 2007-6-14 7:44
           Re: [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい nobu 2007-6-14 17:18
             Re: [DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい mmx 2007-6-15 17:44

投稿するにはまず登録を