スクリプトガイド > 表示ツリー > 独自のウィンドウの作成 > リストを戻す表示要素の選択された値を取得・設定する
公開日: 04/01/2021

リストを戻す表示要素の選択された値を取得・設定する

Set Selected(Item Number, <State>, <Run Script(0|1)>)メッセージを使うと、項目を最初から選択された状態にすることができます。このメッセージは、保存されているディスプレイボックス参照に対して単独で使用するか、List Boxの<<メッセージとして使用できます。

選択された値を取得するには、Get Selectedメッセージ使用します。これは、選択された項目の値を戻します。Get Selected Indicesメッセージは、選択された項目のインデックス番号を戻します。

antennaList = {"パラボラ","ヘリカル","極性","ラジアントアレイ"};
 
win = New Window( "リストのテスト", // 方法1: ディスプレイボックスの参照
	listObj = List Box(
		antennaList,
		Print(
			"iList",
			listObj << Get Selected,
			listObj << Get Selected Indices
		)
	)
);
listObj << Set Selected( 2, 1 );
 
win = New Window( "リストのテスト", // 方法2: インライン
	listObj = List Box(
		antennaList,
		<<Set Selected( 2, 1 ),
		Print(
			"iList",
			listObj << Get Selected,
			listObj << Get Selected Indices
		)
	)
);

この2つのスクリプトは、どちらも次のテキストをログに出力します。

"iList"

{"Helical"}

{2}

前述の例では、Set Selectedメッセージが完了すると、Print式が実行されます。スクリプトが実行されないようにするには、最後の引数としてRun Script(0)を含めます。Run Script( 0|1 )は、ディスプレイボックスの変化に反応するスクリプトをSetまたはSet Selectedメッセージの後で実行するかどうかを制御します。

antennaList = {"パラボラ","ヘリカル","極性","ラジアントアレイ"};
win = New Window( "リストのテスト",
	listObj = List Box(
		antennaList,
		Print(
			"iList",
			listObj << Get Selected,
			listObj << Get Selected Indices
		)
	)
);
listObj << Set Selected( 2, 1, Run Script( 0 ) );

Run Script( 1 )を指定すると、Setメッセージの完了後にスクリプトが実行されます。値に変化がない場合でも実行されます。(ユーザが同じ値を選択した場合は、スクリプトは実行されません。)Run Script( 0 )を指定すると、スクリプトは実行されません。

インタラクティブなディスプレイボックスのほとんどでは、Run Script()を使用しない場合、スクリプトは実行されません。ただし、List Box()では、以前の動作と同様、デフォルトでスクリプトが実行されます。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).