使用表達式中的選項建立篩選器列選擇器(動態)我的目標是在模態視窗中建立一個過濾器列選擇器,如果為函數提供了過濾器,則該過濾器將套用預設的「名稱包含」過濾器。然而,如果函數的輸入有一個空白過濾器,它會保持過濾器框打開,以便使用者可以輸入過濾器。
如果輸入為空,則與「間隔」相比,這是所需輸出的範例結果
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>
因此,我開始試圖將“名稱包含”變成一個表達式,該表達式可以選擇僅在應用過濾器的情況下添加 - 關於如何輕鬆實現這一點,有什麼想法嗎?我已經將其替換為表達式,但是當我需要列出列表時,它就停滯了…
謝謝,
- 桃
自動化和腳本回覆:使用表達式中的選項建立篩選器列選擇器(動態)您正在尋找這樣的東西嗎?過濾器列框中有一個 ifbox,預設為 0,您可以將其設為 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
);
回覆:使用表達式中的選項建立篩選器列選擇器(動態)非常感謝!我曾嘗試發送與您提到的完全相同的訊息,但我認為因為我有一個模型窗口,所以我實際上無法做到這一點。
但是,我看到您首先建立了過濾器 col 選擇器,然後最後創建了模態視窗 - 很簡單,我只是沒有想到這一點。非常好,謝謝
回覆:使用表達式中的選項建立篩選器列選擇器(動態)您可以先建立它(我會這樣做),但您也可以在新視窗內發送訊息,它應該可以工作
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);
);