Scorrimento di una casella di tabella per visualizzare una riga specifica<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao, ho una Table Box che contiene alcune migliaia di righe, quindi solo le prime righe sono direttamente visibili all'interno della finestra che la contiene: per vedere il resto devo scorrere la Table Box con la barra di scorrimento verticale.Da qualche parte all'interno di quella casella di tabella c'è una riga che soddisfa un particolare criterio.Un semplice script mi dirà qual è il numero di riga e la proprietà Set Selected Rows() lo evidenzierà per me, così potrei facilmente scorrere la tabella fino a quella riga per trovarla, ma preferirei avere la tabella La casella scorreva automaticamente al punto giusto in modo che la riga venisse visualizzata per me.
C'è un modo per scriverlo?Non riesco a vedere una proprietà elencata dal comando "Mostra proprietà" che sembra possa svolgere tale funzione.
Grazie molto
Ri: Scorrimento di una casella di tabella per visualizzare una riga specificaScusa, mi sono appena accorto che è la mia tastiera wireless.Quando lo faccio sulla tastiera del mio computer funziona.
Ri: Scorrimento di una casella di tabella per visualizzare una riga specificaCiao, utilizzo F7 da anni per evidenziare la riga successiva e ora non funziona.Qualche idea sul perché o su come posso risolvere questo problema?
Grazie,
Carol
Ri: Scorrimento di una casella di tabella per visualizzare una riga specificaCIAO. Recentemente ho avuto la stessa domanda e ho contattato il supporto di JMP (grazie a Jasean). La loro soluzione è mostrata di seguito e volevo solo condividerla nel caso in cui qualcun altro lo riscontrasse. Fondamentalmente: non puoi controllare la posizione di scorrimento in un TableBox, ma puoi farlo con un VScrollBox. Disattiva quindi lo scorrimento in TableBox e racchiudi invece la casella della tabella in un VScrollBox.
Names Default to Here(1);
long_lis = {};
for each({i}, 1::100, InsertInto(long_lis, "Item " || Char(i)));
scb = StringColBox("Long List", long_lis);
tbl = TableBox(scb);
tbl << Set Scrollable(0, 0); //Turning off scrolling in the tbl box
tbl << Set Selectable Rows;
goto_bb = ButtonBox("Go To Item",
toSelect = neb << Get;
ItemCount = NItems(long_lis);
tbl << Set Selected Rows(EvalList({toSelect})); // select desired item
{h_extent, v_extent} = vsb << Get Scroll Extents; // in pixels
// determine portion of list above selected item and scroll to that relative position
portion = toSelect / ItemCount;
if(portion < 0.05, portion = 0);
vsb << Set Scroll Position(0, portion * v_extent); // in pixels
);
winny = NewWindow("test",
goto_bb, neb = Number Edit Box(50),
vsb = VScrollBox(Size(360), tbl) // set the size as number of pixels
);
Sono d'accordo che non è così pulito come avere il controllo integrato direttamente in TableBox, ma funziona. Spero che questo ti aiuti.
-nikles
Ri: Scorrimento di una casella di tabella per visualizzare una riga specificaNon sono a conoscenza di messaggi che possono essere inviati a una casella di tabella per farla scorrere fino a una posizione specifica.Ho presentato tale richiesta a Support@jmp.com , ma per ora non ho visto nulla.
Spero che ci sia qualcuno là fuori che possa dimostrarmi che sbaglio
Ri: Scorrimento di una casella di tabella per visualizzare una riga specificaCiao Bill,
Temo di no; questo è qualcosa che devo essere in grado di fare con uno script JSL, perché sto cercando di eliminare la necessità di qualsiasi azione da parte dell'utente mentre vengono eseguite altre attività.Se ad esempio il mio script ha già determinato che la riga che l'utente deve vedere è la riga 12345, ma sullo schermo possono essere visualizzate solo le prime 20 righe della casella tabella, in sostanza ciò che devo poter fare qui è inviare un messaggio nella casella tabella che dice "scorri verso il basso fino alla riga 12345, in modo che quella riga venga visualizzata nella finestra".
Un modo alternativo per farlo sarebbe semplicemente quello di estrarre il contenuto della riga 12345 e visualizzarlo separatamente, ma preferirei scorrere la visualizzazione verso il basso fino alla riga pertinente perché nella tabella attorno a quella posizione sono presenti altre informazioni che potrebbero anch'esse essere di interesse per l'utente.
Può darsi che in realtà non posso farlo, nel qual caso troverò un'altra via d'uscita, ma ho sentito che valeva la pena chiederlo prima.
Grazie molto
Ri: Scorrimento di una casella di tabella per visualizzare una riga specificaCiao dqr2,
Stai rappresentando graficamente i tuoi dati?Se è così, una cosa che puoi fare è evidenziare un punto dati o un insieme di punti nel grafico che ti interessano.Torna alla tabella dati e premi il tasto F7.Digitando F7 verrai portato alla riga nella tabella per il punto dati che è il primo nell'elenco dei punti selezionati.Puoi quindi premere nuovamente F7 per passare al punto successivo.Premi F6 per tornare al punto precedente.
Migliore,
Conto