トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     DataGridコンポーネントで特定の行を選択した状態にしたい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kirarin
Åê¹ÆNo.11597
投稿日時: 2004-10-19 13:58
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
DataGridコンポーネントで特定の行を選択した状態にしたい
kirarinです。
いつもこちらではお世話になっておりますm(__)m

DataGridコンポーネントについて質問させてください。
30件ほどあるデータを配列で読み込み、DataGrid(5件表示)のdataProviderにセットしました。
DataGridにはIDとNameの列があります。

srch_txtというダイナミックテキストに「kirarin」と入力したときに、
DataGridのName列が「Kirarin」となっている行に緑のバー(クリックしたときに表示されるバー)をセットしたい(移動させたい)と考えています。
どのように指定したらよいのでしょうか。
ちなみにDataGridは編集不可です。

どうぞよろしくお願いいたしますm(__)m


----------------
Kirarin

makinux
Åê¹ÆNo.11599
投稿日時: 2004-10-19 15:57
半人前
居住地:
投稿: 50
使用環境:
WinXP;Flash MX2004 Pro;apache1.3;MySQL 4.0.13-nt;PHP Version 4.3.2
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
興味があった(というか多分そのうちおなじことやりそう)のでためしてみました。

こんなかんじでどうでしょう


myDP = new Array({ID:"1", Name:"kirarin"}, {ID:"2", Name:"test"});
grid.dataProvider = myDP;

txtlistener = new Object();
txtlistener.change = function(eventObject){
	var serachWord=search_str.text;
	for(i=0;i<myDP.length;i++){
		var search_obj=grid.getItemAt(i).Name;
		if(search_obj.indexOf(serachWord)!=-1){
			grid.selectRow(i);
		}
	}
}
search_str.addEventListener("change", txtlistener);


myDP.lengthで件数とってきてますが、myDPにすでに全件入れてるのであれば、grid.rowCountに置き換えてください。
また、検索する文字列が完全一致の場合は
search_obj=serachWord
となります
ごんざえもん
Åê¹ÆNo.11600
投稿日時: 2004-10-19 16:40
常連
居住地: 北かんとー
投稿: 123
使用環境:
Windows XP SP3
Windows7
Windows VISTA
MacOSX10.6
FlashMX2004
Flash8 pro
Flash CS6 (体験版…)
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
ごんざえもんです。

入力した文字に対応する行全てを選択するには以下のコードですね
makinuxさんのコードお借りしますm(__)m

引用:

makinuxさんは書きました:

myDP = new Array({ID:"1", Name:"kirarin"}, {ID:"2", Name:"test"});
grid.dataProvider = myDP;
grid.multipleSelection = true;
var aSelect:Array = Array();


txtlistener = new Object();
txtlistener.change = function(eventObject){
    if (search_str.length != 0){
	var serachWord=search_str.text;
	for(i=0;i<myDP.length;i++){
		var search_obj=grid.getItemAt(i).Name;
		if(search_obj.indexOf(serachWord)!=-1){
			aSelect.push(i);
		}
	}
    }
		grid.selectedIndices = aSelect;
		aSelect = Array();
}
search_str.addEventListener("change", txtlistener);


----------------
gonzaemon

kirarin
Åê¹ÆNo.11617
投稿日時: 2004-10-20 9:52
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
kirarinです。

makinuxさん、ごんざえもんさん、詳しいコードつきでありがとうございました!!
無事、目的の動作をすることができましたm(__)m

選択する方法として
・grid.selectRow(i)
・grid.selectedIndices
などがあることを知りませんでした。

大変参考になりました!

ありがとうございましたm(__)m


----------------
Kirarin

makinux
Åê¹ÆNo.11619
投稿日時: 2004-10-20 10:19
半人前
居住地:
投稿: 50
使用環境:
WinXP;Flash MX2004 Pro;apache1.3;MySQL 4.0.13-nt;PHP Version 4.3.2
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
引用:

kirarinさんは書きました:

選択する方法として
・grid.selectRow(i)
・grid.selectedIndices
などがあることを知りませんでした。



リファレンスに載ってないので、しょうがないかもしれません。
こういうのはきちんと載せてほしいですね
ソース見てて発見しました
ごんざえもん
Åê¹ÆNo.11620
投稿日時: 2004-10-20 10:27
常連
居住地: 北かんとー
投稿: 123
使用環境:
Windows XP SP3
Windows7
Windows VISTA
MacOSX10.6
FlashMX2004
Flash8 pro
Flash CS6 (体験版…)
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
ごんざえもんです。

引用:

makinuxさんは書きました:
引用:

kirarinさんは書きました:

選択する方法として
・grid.selectRow(i)
・grid.selectedIndices
などがあることを知りませんでした。



リファレンスに載ってないので、しょうがないかもしれません。
こういうのはきちんと載せてほしいですね
ソース見てて発見しました


selectedIndicesに関しては「List クラスから継承されるプロパティ
」としてヘルプに載っていますよ (ver7.2)

selectRowは載っていませんね
変わり(?)にselectedIndexが載っており、selectedIndexでも単一行の選択が可能です


----------------
gonzaemon

makinux
Åê¹ÆNo.11623
投稿日時: 2004-10-20 12:58
半人前
居住地:
投稿: 50
使用環境:
WinXP;Flash MX2004 Pro;apache1.3;MySQL 4.0.13-nt;PHP Version 4.3.2
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
読み取り専用と勘違いしてました
もうしわけありません。

配列の書き込みできたんですな。
kirarin
Åê¹ÆNo.11627
投稿日時: 2004-10-20 14:59
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
Re: DataGridコンポーネントで特定の行を選択した状態にしたい
kirarinです、
ふたたびありがとうございますm(__)m

なるほどselectedIndexにかきかえても同じことができました(*^∇^*)
grid.selectedIndex = i;


Ver7.2になって、ヘルプがかなり充実したとはいえ、時々とても物足りなさを感じます(^^;)
他クラスからの継承というのは見落としがちですネ。

フォロー情報ありがとうございましたm(__)m


----------------
Kirarin

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops