Come mostrare i grafici di intestazione utilizzando JSL?Esiste un modo per impostare i grafici di intestazione da mostrare utilizzando JSL?
Ho cercato nell'indice degli script e nei forum di assistenza e ho provato
dt << Show Header Graphs(1);
e variazioni simili senza fortuna.
Grazie!
Automazione e scriptingRi: Come mostrare i grafici di intestazione utilizzando JSL?Tentativo
Preferences(Show summary graphs below column names( 1 ))
Ri: Come mostrare i grafici di intestazione utilizzando JSL?Grazie mille!
Ri: Come mostrare i grafici di intestazione utilizzando JSL?Sai se esiste un modo per farlo senza modificare le preferenze dell'utente? Questo è per uno script che verrà distribuito ad altri e, sebbene questa soluzione funzioni, preferirei che i miei utenti non modificassero le loro preferenze involontariamente.
Ri: Come mostrare i grafici di intestazione utilizzando JSL?Penso che al momento dovrai aggiornare le preferenze dei tuoi utenti (che generalmente è un'idea orribile come hai menzionato). C'èun elemento della lista dei desideri per avere preferenze di sessione/istanza Fornisce un modo per impostare le preferenze e le preimpostazioni di sessione/istanza (non funzionerà esattamente in questo caso se la tabellaègiàaperta senza alcuni trucchi poiché la proprietà non verràaggiornata già tavoli aperti).
Potresti voler creare una voce separata della lista dei desideri per fornirci l'opzione di abilitare/disabilitare i grafici di intestazione in una tabella dati tramite script
Modificare:
Sembra che ci sia un comando per aprirli/chiuderli MA li scambierà semplicemente (il flag booleano non sembra fare nulla). Quindi potrebbe essere un po' difficile farlo funzionare in ogni caso
Current Data Table() << close summary panels;
Puoi provare a controllare le preferenze dell'utente ma non funzionerà in ogni caso (come se l'utente le avesse chiuse)
Try(
If(!Arg(Arg(Get Preference("Show summary graphs below column names"))),
Current Data Table() << close summary panels;
)
);Ri: Come mostrare i grafici di intestazione utilizzando JSL?Aggiungerò una voce della lista dei desideri per questa richiesta.
Nel frattempo la soluzione alternativa che ho utilizzato è controllare le preferenze dell'utente all'inizio dello script con quanto segue:
pref = Num(Word(3,Char(Get Preferences(Show summary graphs below column names)),"()"));
All'interno del corpo dello script ho impostato la preferenza su 1:
Preferences(Show summary graphs below column names(1));
Il mio script crea una finestra come interfaccia utente in cui l'utente aprirà una tabella, quindi farà clic su un pulsante per eseguire un altro script. Quindi ho aggiunto alla finestra:
<< On Close(Preferences(Show summary graphs below column names(pref)))
Pertanto, quando l'interfaccia utente viene chiusa, le preferenze verranno ripristinate a ciò che avevano prima di aprirla.
Ciò causerà problemi se l'utente modifica le proprie preferenze con la finestra aperta, ma prevedo che questo sia un evento raro.
Grazie per l'aiuto!
Ri: Come mostrare i grafici di intestazione utilizzando JSL?Fortunatamente questa preferenza non è troppo fastidiosa con cui scherzare (ad esempio se qualcuno iniziasse a fare confusione con le mie impostazioni locali sarebbe così fastidioso che prenderei in considerazione l'idea di smettere di usare JMP per un po' (conservo sempre i backup delle mie preferenze )).
Potresti prendere in considerazione l'idea di salvare la preferenza dell'utente in un file temporaneo e caricarla da lì quando rieseguono lo script. JMP potrebbe, ad esempio, bloccarsi o l'utente potrebbe chiudere JMP utilizzando Esci da JMP. Lo faccio sempre utilizzando Ctrl + Q (non sono sicuro che alla chiusura si attiverà in questo caso). Ovviamente questo non funzionerà se cambiano le loro impostazioni prima di rieseguire lo script o non rieseguono affatto lo script.
Ri: Come mostrare i grafici di intestazione utilizzando JSL?
Try(
If(!Arg(Arg(Get Preference("Show summary graphs below column names"))),
Current Data Table() << close summary panels;
)
);
bella soluzione alternativa al problema con l'opzione booleana mancante 
Grazie.
Secondo l'idea: se l'utente non apre il riepilogo per impostazione predefinita, apri il riepilogo per la tabella dati corrente (supponendo che l'utente non lo abbia aperto manualmente).
molto meglio del mio suggerimento tramite le preferenze:
- nessuna interferenza con le impostazioni utente globali
- funziona per la tabella dati corrente (!) (non solo per le tabelle dati che verranno aperte in futuro)