CIAO,
Nel seguente frammento di script ho definito un array di sei pulsanti all'interno di una Line Up Box in cinque modi leggermente diversi in altrettante finestre diverse. Nella prima finestraNon mi preoccupo di specificare la larghezza di nessuno dei pulsanti, nessun problema. Nella seconda e terza finestra, specifico che una delle due colonne abbia una larghezza specifica impostando la larghezza di uno solo dei pulsanti in quella colonna, anche in questo caso, nessun problema. Nella quarta finestra specifico la larghezza di entrambe le colonne impostando la larghezza del secondo e del quinto pulsante, nessun problema. Ma quando provo a fare la stessa cosa sul primo e sul secondo pulsante nella quinta finestra, non funziona: i primi due pulsanti non compaiono nella finestra. Ho provato questa soluzione sia in JMP 10 che in JMP 11 con lo stesso risultato.
Non credo di aver fatto nulla di stupido, quindi perché? Vorrei capire perché potrei dover creare una finestra in un'applicazione su cui sto lavorando con un numero variabile di pulsanti in due colonne di larghezza specificata - e potrebbero essercene solo due, nel qual caso è probabile che riscontri proprio questo problema.
nw1= nuova finestra("NW1",
LineUpBox(ncol(2),
Scatola dei pulsanti("UN"), Scatola dei pulsanti("X"),
Scatola dei pulsanti("B"), Scatola dei pulsanti("E"),
Scatola dei pulsanti("C"), Scatola dei pulsanti("CON"),
)
);
nw2= nuova finestra("NW2",
LineUpBox(ncol(2),
Scatola dei pulsanti("UN"), Scatola dei pulsanti("X", <<imposta larghezza (200)),
Scatola dei pulsanti("B"), Scatola dei pulsanti("E"),
Scatola dei pulsanti("C"), Scatola dei pulsanti("CON"),
)
);
nw3= nuova finestra("NW3",
LineUpBox(ncol(2),
Scatola dei pulsanti("UN", <<imposta larghezza (200)), Scatola dei pulsanti("X"),
Scatola dei pulsanti("B"), Scatola dei pulsanti("E"),
Scatola dei pulsanti("C"), Scatola dei pulsanti("CON"),
)
);
nw4= nuova finestra("NW4",
LineUpBox(ncol(2),
Scatola dei pulsanti("UN"), Scatola dei pulsanti("X", <<imposta larghezza (200)),
Scatola dei pulsanti("B"), Scatola dei pulsanti("E"),
Scatola dei pulsanti("C", <<imposta larghezza (200)), Scatola dei pulsanti("CON"),
)
);
nw5= nuova finestra("NW5",
LineUpBox(ncol(2),
Scatola dei pulsanti("UN", <<imposta larghezza (200)), Scatola dei pulsanti("X", <<imposta larghezza (200)),
Scatola dei pulsanti("B"), Scatola dei pulsanti("E"),
Scatola dei pulsanti("C"), Scatola dei pulsanti("CON"),
)
);
Grazie mille per ogni suggerimento offerto.
Ottimo, grazie mille Jeff. È bello sapere che non sto impazzendo!
,
Grazie per la descrizione dettagliata e gli script.
Non stai sbagliando nulla. Sembra un bug che dovremo risolvere in una futura versione di manutenzione. Abbiamo documentato il bug internamente e lo risolveremo alla prima occasione.
Nel frattempo, puoi aggirare il problema impostando la larghezza dopo aver creato i pulsanti, anziché come parte dell'istanziazione.
nw5= Nuova finestra( "NW5",
Box di formazione( N Col( 2 ),
Scatola dei pulsanti( "UN" ), Scatola dei pulsanti( "X" ),
Scatola dei pulsanti( "B" ), Scatola dei pulsanti( "E" ),
Scatola dei pulsanti( "C" ), Scatola dei pulsanti( "CON" )
)
);
nw5 [pulsantiera(1)] << imposta larghezza(200);
nw5 [pulsantiera(2)] << imposta larghezza(200);
Ovviamente, l'indicizzazione potrebbe variare a seconda di ciò che è già presente nella finestra. In alternativa, potresti assegnare i riferimenti ai pulsanti a una variabile JSL e utilizzarla nel messaggio Set Width().
Ci scusiamo per la difficoltà.
-Jeff
Strano davvero. Per ncol(3) e versioni successive funziona, ma non per ncol(1) e ncol(2). Nell'albero di visualizzazione per nw5, tutte e sei le caselle dei pulsanti sono elencate nonostante non appaiano nella finestra renderizzata.
Comportamento strano. Ho fatto in modo che il n. 5 funzionasse in questo modo:
nw5= nuova finestra("NW5",
LineUpBox(ncol(2),
ab= Scatola dei pulsanti("UN"),
xb= Scatola dei pulsanti("X"),
Scatola dei pulsanti("B"), Scatola dei pulsanti("E"),
Scatola dei pulsanti("C"), Scatola dei pulsanti("CON"),
),
);
ab<<imposta larghezza (200);
xb<<imposta larghezza (200);