ログイン
ユーザ名:

パスワード:


パスワード紛失

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

フラット表示 前のトピック | 次のトピック
投稿者 トピック
nobu
投稿日時: 2007-6-13 16:41
ご主人様
登録日: 2006-6-17
居住地:
投稿: 593
[DataGrid]itemRendererで組み込まれたCheckBoxの値を変更させたい
DataGrid内にitemRendererで組み込んだCheckBoxの値(Selected)
を、CheckBoxをクリックするのではなく、DataGridのKeydownイベ
ントを使って設定(正確には反転)させようとしているのですが
うまくいきません。操作としては選択した行でSpaceキーを押下
したときに、その行のある列のCheckBoxのSelectedを反転させた
いというものです。
※DataGridは"1列選択"の状態です。

DataGridは、動的にdataProviderを使用しています。
(DB参照->ArrayをdataProviderに設定)

dataProviderを使用していますので、DataGridのdataProviderの
特定の行の値を設定し直してみたのですが、dataProvider内の
情報は変更されていますが、DataGridの表示上は何も変わらない
というものです。

以下、ソースです。(一部抜粋のみ)

<mx:DataGrid x="10" y="325" width="978" height="266" tabIndex="680" id="dg" keyDown="onKeydown(event);">
	<mx:columns>
		<mx:DataGridColumn headerText="名前" dataField="name" width="900"/>
		<mx:DataGridColumn headerText="チェック" dataField="chk" editorDataField="selected">
			<mx:itemRenderer>
				<mx:Component>
					<comp:CheckBoxRenderer width="14"/>
				</mx:Component>
			</mx:itemRenderer>

		</mx:DataGridColumn>
	</mx:columns>
</mx:DataGrid>


public function xxxfunc():void
{
	dg.dataProvider = <Array>;
}


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


public function dgOnKeydown(e:KeyboardEvent):void
{
	switch (e.keyCode)
	{
		case KeyboardUtil.KeyCode_Space:
			if (e.currentTarget.selectedIndex > -1)
			{
				e.currentTarget.dataProvider[e.currentTarget.selectedIndex].chk = !(e.currentTarget.dataProvider[e.currentTarget.selectedIndex].chk);
			}
			break;
	}
}


この他にdataProviderではな selectedItem.chk を直接変更して
みましたが、変化ありませんでした。唯一変化してくれたやり方



e.currentTarget.dataProvider[e.currentTarget.selectedIndex].chk = !(e.currentTarget.dataProvider[e.currentTarget.selectedIndex].chk);
e.currentTarget.dataProvider = e.currentTarget.dataProvider;


上記のように一度dataProviderを入れなおすという方法でうまくは
いったのですが、このやり方だとDataGrid上のフォーカスが消失
するという問題が発生する為、断念しました。
※再描画の再にフォーカスが離れるのだと思います。

過去ログも探してみたのですが、"値の取得"はあるのですが"値の
設定"というのは見つけられませんでした。

このような対応をされた事のある方がいらっしゃいましたら、
アドバイスをお願いします。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » [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

投稿するにはまず登録を