Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione del radioboxIl mio codice è come quello riportato di seguito, funziona bene se faccio clic sull'opzione 1 e 2 una per una, ma verranno generate più caselle di riepilogo dopo aver fatto clic continuamente sull'opzione 1, il che confonderebbe i miei utenti. Come potrei ottimizzare il codice? Grazie molto.
Altre due domande sono:
1. Se elimino una casella del pannello, anche la casella (come la casella di testo) verrà eliminata o semplicemente non verrà visualizzata?
2. Come posso ottenere la gerarchia di una finestra modale?
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 ),
),
);

Automazione e scriptingRi: Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione della radioboxCosa vorresti che l'utente fosse in grado di fare?
1. Se elimini il Panel Box() anche gli oggetti all'interno dovrebbero essere cancellati (usa << Elimina Box sul tuo pannello box e prova quali ritorni ottieni dai vecchi riferimenti al suo interno, sono qualcosa come DisplayBox[] invece di DisplayBox[ FilterColSelector] per esempio).
2. Quale gerarchia? Se desideri vedere la struttura ad albero o le proprietà, rimuovere temporaneamente la modale è l'opzione più semplice
Ri: Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione della radioboxForse sono solo io, ma sarebbe molto più semplice capire il tuo problema se potessi condividere una tabella appartenente al tuo script.
Ri: Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione della radioboxQuando faccio clic sull'opzione "Con limite corrente", verrà visualizzata una nuova casella di riepilogo a destra del pannello "Seleziona colonne", se faccio clic sull'opzione "Senza limite corrente", la casella di riepilogo verrà eliminata, se faccio clic sull'opzione 1 - -> opzione 2 --> opzione 1 --> opzione 2, funziona bene. Ma se faccio clic più volte sull'opzione 1, verranno visualizzate più caselle di elenco, ciò confonderebbe il mio utente, di seguito l'immagine mostra che vengono generate 4 caselle di elenco dopo aver fatto clic su "opzione 1" 4 volte.

Ri: Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione della radioboxMi spiace di averti confuso. Il problema che ho riscontrato non è correlato a una determinata tabella ma a una domanda di sviluppo dell'interfaccia utente.
Intendo dire che come utilizzare la casella radio per generare caselle di visualizzazione, ad esempio quando si fa clic sull'opzione 1 per generare una casella di riepilogo A, l'opzione 2 è per generare una casella di riepilogo B, l'opzione 3 non fa nulla. Inoltre, se faccio clic sull'opzione 1 e poi sull'opzione 2, la casella di riepilogo A verrà eliminata e verrà visualizzata una nuova casella di riepilogo B.
Nel mio codice, tutte le cose funzionano bene se faccio clic sull'opzione 1 --> opzione 2 --> opzione 1 --> opzione 2.... ma se faccio clic più volte sull'opzione 1, verranno visualizzate più caselle di riepilogo, questo confonderebbe il mio utente, di seguito è riportata l'immagine mostra che vengono generate 4 caselle di riepilogo dopo aver fatto clic su "opzione 1" 4 volte.

Ri: Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione della radioboxPotresti forse aggiungere un ulteriore controllo quando Con limite corrente è l'opzione per verificare se lbtableSel è vuoto
If(rbSel == "With Current Limit" & is empty(lbtableSel),
Ri: Come potrei creare caselle di visualizzazione nella finestra modale in base alla selezione della radioboxGrazie, il tuo codice funziona bene in modalità non modale.
In modalità modale, se faccio clic sull'opzione 1 --> opzione 2 --> opzione 1, la casella di riepilogo non verrà visualizzata, ma quando provo l'opzione aggiuntiva 2 --> opzione 1, viene visualizzata! In base alla mia indagine, ho scoperto che sembra esserci una casella di riepilogo non visibile dietro il pannello colSelLstBox, non posso chiamarla e cancellarla, ma dopo aver utilizzato l'opzione 2 2 volte, verrà finalmente eliminata, quindi l'opzione 1 può funzionare. Così interessante....
La mia soluzione finale in modalità modale è aggiungere un riquadro spaziatore di dimensione (0,0), quindi posso ottenerne il gestore, giudicare se esiste, eliminare o generare.