Ciao comunità JMP,
Ultimamente, stavo cercando di migliorare le prestazioni dei miei script JSL interni e ho riscontrato i seguenti problemi di prestazioni che vorrei risolvere.
Prendiamo il seguente script (JMP 17.2 PRO in esecuzione su macOS):
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
values = Column( dt, 1 )[dt << get rows where( Excluded( Row State() ) != 1 )];
new window("test",
lb = list box( values, nlines(10), width(100), ),
b = button box("reset", reset_lb),
);
reset_lb = expr(
lb << remove all();
lb << append(values);
Nnames = N Items(values);
for(i = 1, i <= Nnames, i++,
lb << set selected(i);
);
);In alcuni dei miei script utilizzo caselle di riepilogo aggiornate dinamicamente. Per modificare il contenuto delle caselle di riepilogo utilizzo le funzioni < e < , funzionano bene ma temo che questo metodo non si adatti molto bene al numero di righe, un'altra parte che sorprendentemente funziona molto lentamente è il ciclo for con << set selezionato(), apparentemente questo è l'unico metodo che ho trovato per selezionare tutti gli elementi in una casella di riepilogo ma si adatta terribilmente con il numero di righe.
La mia domanda è se esistono modi migliori per aggiornare il contenuto delle caselle di riepilogo che non rallentino le prestazioni. Sto cercando possibili alternative che farebbero:
- metodo ottimale per impostare il contenuto della casella di riepilogo.
- modo rapido per selezionare tutti gli elementi della casella di riepilogo.
Qualsiasi feedback o suggerimento sarebbe molto apprezzato.