式からのオプションを使用してフィルター列セレクターを作成する (動的)私の目標は、関数にフィルターが指定されている場合にデフォルトの「名前を含む」フィルターを適用するフィルター列セレクターをモーダル ウィンドウに作成することです。ただし、関数への入力に空のフィルターがある場合は、フィルター ボックスが開いたままになり、ユーザーがフィルターを入力できるようになります。
入力が空白の場合と「間隔」の場合の目的の出力結果の例を示します。
Names Default To Here( 1 );<BR />dtex = Open( "$SAMPLE_DATA/Arrhythmia.jmp" );<BR /><BR /><BR />// case with filter
filt = "interval";
eval(eval expr(
New Window( "Filter Col Selector if filter option given", <<MODAL> FILTER SELECTION IS GONE, not desired result
filt = "";
eval(eval expr(
New Window( "Filter Col Selector if no option", <<MODAL></MODAL><BR />// case with no option --> FILTER SELECTION stays, but how to make this dynamically based on the 'filt' value?<BR />filt = "";<BR />eval(eval expr(<BR />New Window( "Filter Col Selector if no option", <<MODAL></MODAL>));<BR /><BR />// attempt to create with substitute do not work- cant use comma in expr to make multiple to insert...<BR />testexpr = expr(new window("test", <<MODAL></MODAL> if(filter != "",<BR />_OPTIONS_ = eval expr(width(400), nlines(35), <<NAME contains=""></NAME>,<BR />_OPTIONS_ = expr(width(400), nlines(35), <<CONTINUOUS></CONTINUOUS>);<BR /><SPAN> substitude into(testexpr , expr(_OPTIONS_), name expr(_OPTIONS_));</SPAN><BR />
</MODAL>
そこで、フィルターが適用される場合にのみオプションで追加される式に「名前を含む」を作成するという迷路に入り始めました。ただし、これを簡単に行う方法について何かアイデアはありますか? 式に代入しましたが、代わりにリストを作成する必要が生じたときにこれが行き詰まりました...
ありがとう、
- 桃
自動化とスクリプトRe: 式からのオプションを使用してフィルター列セレクターを作成する (動的)このようなものをお探しですか? フィルター列ボックスには、デフォルトで 0 に設定されている ifbox があります。これを 1 に設定すると、検索ボックスが表示されます。また、フィルター列ボックス内にメッセージ << Name Contains を組み込むのではなく、フィルター列ボックスにメッセージを送信することもできます (通常、この方法の方が管理が簡単です)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Arrhythmia.jmp");// case with filter
filt = "interval";
fcs = Filter Col Selector(dt, , width(250), nlines(30));
Eval(EvalExpr(fcs << Name contains(Expr(filt))));
fcs[IfBox(1)] << Set(1);
nw = New Window("Filter Col Selector Example", << modal,
fcs
);
Re: 式からのオプションを使用してフィルター列セレクターを作成する (動的)本当にありがとうございます! あなたがおっしゃったとおりにメッセージを送信しようとしましたが、モデル ウィンドウがあるため、実際にはそれができないと思いました。
ただし、最初にフィルター列セレクターを作成し、最後にモーダル ウィンドウを作成していることがわかります。シンプルですね。その点は考えていませんでした。完璧です。ありがとうございます。
Re: 式からのオプションを使用してフィルター列セレクターを作成する (動的)事前にビルドすることもできます(私はこれを行います)が、新しいウィンドウ内でメッセージを送信することもできます。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Arrhythmia.jmp");// case with filter
filt = "interval";
nw = New Window("Filter Col Selector Example", << modal,
fcs = Filter Col Selector(dt, , width(250), nlines(30)),
Eval(EvalExpr(fcs << Name contains(Expr(filt))));
fcs[IfBox(1)] << Set(1);
);