我的程式碼如下,如果我一一點擊選項1和2,效果很好,但是當我連續點擊選項1後,會產生多個列錶框,這會讓我的用戶感到困惑。 我該如何優化程式碼? 非常感謝。
另外兩個問題是:
1. 如果我刪除面板框,框內的(如文字框)是否也會被刪除或只是不顯示?
2. 如何取得模態視窗的層次結構?
dt = Current Data Table();
If( Is Empty( dt ),
Stop(),
nc = N Col( dt )
);
openDTs = {};
For( i = 1, i <= N Table(), i++,
Insert Into( openDTs, Data Table( i ) << getname )
);
tableSelBox = Expr(
//Panel Box( "Select Limit Table",
lbtableSel = List Box( openDTs, width( 150 ), nlines( 6 ), maxselected( 1 ), ),
//),
);
nw = New Window( "Auto Plot",
modal,
hb = H List Box(
V List Box(
Panel Box( "Mode Selection",
Spacer Box( size( 100, 0 ) ),
rbMethod = Radio Box(
{"With Current Limit", "Without Current Limit"},
rbSel = rbMethod << get selected;
dbAfterpb = colSelLstBox << Next();
If( rbSel == "With Current Limit",
pb << Sib Append( tableSelBox ),
);
If( rbSel == "Without Current Limit",
dbAfterpb << Delete;
lbtableSel << Delete
),
),
),
Panel Box( "Action",
Spacer Box( size( 100, 0 ) ),
okBb = Button Box( "OK", Stop() ),
cancelBb = Button Box( "Cancel", Stop() ),
),
),
pb = Panel Box( "Select Columns",
colSelLstBox = Filter Col Selector( dt, nlines( Min( nc, 13 ) ) ),
),
pb << Sib Append( tableSelBox ),
),
);

您希望用戶能夠做些什麼?
1.如果刪除裡面的Panel Box()物件也應該被刪除(在面板框中使用<
2. 哪個層次結構? 如果您希望查看樹狀結構或屬性,暫時刪除模式是最簡單的選擇
也許這只是我的問題,但如果您可以共享屬於您的腳本的表,那麼理解您的問題會容易得多。
當我點擊“有電流限制”選項時,“選擇列”面板的右側會出現一個新的列錶框,如果我點擊“無電流限制”選項,該列錶框將被刪除,如果我點擊選項1 - -> 選項2 --> 選項1 --> 選項2,效果很好。 但是,如果我多次點擊 option1,會出現多個列錶框,這會讓我的用戶感到困惑,下圖顯示了我點擊「選項 1」4 次後生成了 4 個列錶框。

抱歉讓您感到困惑。 我遇到的問題與某個表格無關,而是一個UI開發問題。
我的意思是如何使用單選框產生顯示框,例如按一下選項1是產生列錶框A,選項2是產生列錶框B,選項3什麼都不做。 而且,如果我按一下選項 1,然後按一下選項 2,列錶框 A 將被刪除,並會顯示一個新的列錶框 B。
在我的程式碼中,一切正常如果我點擊選項1 --> 選項2 --> 選項1 --> 選項2...但是如果我多次點擊選項1,會出現多個列錶框,這會讓我的用戶感到困惑,下圖是顯示我點擊「選項 1」4 次後產生了 4 個列錶框。

當使用目前限制選項來檢查 lbtableSel 是否為空時,您可以新增額外的檢查
If(rbSel == "With Current Limit" & is empty(lbtableSel),
謝謝,您的程式碼在非模式模式下運作良好。
在模式模式下,如果我按一下選項 1 --> 選項 2 --> 選項 1,列錶框將不會顯示,但是當我嘗試附加選項 2 --> 選項 1 時,它會顯示! 根據我的調查,我發現面板colSelLstBox後面似乎有一個不可見的列錶框,我無法調用它並刪除它,但選項2操作2次後,它最終會被刪除,所以選項1可以工作。 太有趣了....
我在模態模式下的最終解決方案是添加一個 size(0,0) 間隔框,然後我可以得到它的處理程序,判斷它是否存在,刪除或產生。