「OK」の確認なしの選択。みなさん、こんにちは。
私はJSLスクリプティングの初心者で、問題が1つあります。つまり、1つの選択リスト(プロセス)がある場合、以前の「プロセス」の選択を確認せずに(たとえば、[OK]ボタンをクリックして)、1つのパラメーターを選択し(マウスで)、別のリストから対応するパラメーター/値のリストを表示します。
それを解決する方法のヒントをいただければ幸いです。
宜しくお願いします。
New Window("Example",
H List Box(
unique_process_list = {"Process_1", "Process_2", "Process_3"};
Panel Box("Process",
processes = List Box( unique_process_list, max selected( 1 ) ),
//Button Box( "OK",
// process = processes << get selected ),
),
Spacer Box(Size(20, 10)),
parameter_list_1 = {"parameter_1", "parameter_2", "parameter_3"}; //for Process 1
parameter_list_2 = {"parameter_4", "parameter_5", "parameter_6"}; //for Process 2
parameter_list_3 = {"parameter_7", "parameter_8", "parameter_9"}; //for Process 3
Panel Box("Parameters",
runs = List Box( parameter_list_1),
),
),
)Re:「OK」の確認なしの選択。リストボックスで選択が変更されたときに実行されるスクリプトを含めることができます。
このようなもの:
unique_process_list = {"Process_1", "Process_2", "Process_3"};
params_lists = {{"parameter_1", "parameter_2", "parameter_3"},
{"parameter_4", "parameter_5", "parameter_6"},
{"parameter_7","parameter_8", "parameter_9"}};
New Window( "Example",
H List Box(
Panel Box( "Process",
processes = List Box(
unique_process_list,
max selected( 1 ),
selected_item = (processes << get selected indices)[1];
Show( selected_item[1] );
selected_params_list = params_lists[selected_item];
Show( selected_params_list );
params << set items( selected_params_list );
),
//Button Box( "OK",
// process = processes << get selected ),
),
Spacer Box( Size( 20, 10 ) ),
params = List Box(),
),
);
Re:「OK」の確認なしの選択。実行しようとしているスクリプトはリストボックス()の定義の範囲外であるため、JMPはそれをリストボックス()が変更されたときに実行するスクリプトとして認識しません。
processes = List Box( unique_process_list, max selected( 1 ) ),
show( Processes << get selected ),
変更は非常に簡単です。リストボックス()の要素が変更されたときに実行するスクリプトを、リストボックス()要素のリストの最後に参照されているアイテムに移動します。
processes = List Box( unique_process_list, max selected( 1 ),
show( Processes << get selected );
),
例については、Scripting Indexの「listboxbox」をご覧ください。
Re:「OK」の確認なしの選択。ご返事ありがとうございます!問題が解決しました。
Re:「OK」の確認なしの選択。ご返事ありがとうございます!問題が解決しました。