Ho questa GUI e ho le righe che ho creato
Quello che sto facendo è utilizzare un gestore dello stato di riga per rilevare quando qualcuno seleziona forme mappate in un grafico.
Ciò mostra quali righe hanno effettivamente selezionato.
Ora ho anche 2 "forme mappa" di supporto in quel grafico. quando selezionano qualcosa nel grafico principale, devo evidenziarlo anche nei grafici di supporto.
Quindi questo è il mio codice e voglio che venga selezionato per essere aggiornato in tempo reale per essere 1 o 2 in modo da poterlo seguire con altre poche righe che dicono:
ottieni helper_rows che hanno lo stesso nome chiave delle righe selezionate e selezionale anche in modo che l'utente sappia che sono correlate e posso quindi ottenerle per un sottoinsieme che è nel mio passaggio successivo.
quindi il mio piano:
1. ottieni l'elenco di tutte le righe nella tabella ci deve essere un modo migliore di questo ...
all_rownums = subset_JMP_Master_Table << GetRowsWhere (:Name != -99999);
2. all'interno del gestore dello stato della riga: ottieni le righe selezionate
3. sottrarre le righe selezionate dall'elenco delle righe totali? Ottieni 2 elenchi: 1 per le righe selezionate e l'altro per le righe non selezionate.
4. Assegnare il flag selezionato come 1 o 2 alla colonna selezionata.
5. Righe helper di ricerca basate sul nome chiave + colonna selezionata = 1
6. seleziona anche le righe helper e crea un sottoinsieme per i passaggi successivi.
subset_JMP_Master_Table << New Column( "selected",
Numeric
, Ordinal
,set each value(0)
);
all_rownums = subset_JMP_Master_Table << GetRowsWhere (:Name != -99999);
//rows_in_subset_table = subset_JMP_Master_ Table << Select All Rows;
//show(rows_in_subset_table);
select_sync_rsh = subset_JMP_Master_Table << MakeRowStateHandler(
Function(
{a}
,if(
select_sync_script_on
,( //start doing things based on script
print(a);
r = subset_JMP_Master_Table << get selected rows;
Column(subset_JMP_Master_Table, "selected")[r] = 1;
q = subset_JMP_Master_Table << GetRowsWhere (:selected != 1);
Column(subset_JMP_Master_Table, "selected")[q] = 2;
)//end doing things based on script
)// end if
); //end function
);
Puoi anche usare la sintassi 1::n per produrre una matrice:
subset_JMP_Master_Table=current data table();
b = 1::nrows(subset_JMP_Master_Table);
Penso che tu possa ottenere la tua matrice rownum con
subset_JMP_Master_Table=current data table();
all_rownums = index(1,nrows(subset_JMP_Master_Table));
subset_JMP_Master_Table << New Column( "selected", Numeric, Ordinal, set each value( 0 ) );
fhg = N Rows( subset_JMP_Master_Table );
all_rownums = subset_JMP_Master_Table << GetRowsWhere( :Name != -99999 );
//rows_in_subset_table = subset_JMP_Master_ Table << Select All Rows;
//show(rows_in_subset_table);
select_sync_rsh = subset_JMP_Master_Table << MakeRowStateHandler(
Function(
{a}
,
If(
select_sync_script_on
,
(//start doing things based on script
Print( a ) ;
subset_JMP_Master_Table:selected << Set Each Value( 2 ) ; // just blanket set everything to 2
curr_selected_rows = subset_JMP_Master_Table << get selected rows ; // get the selected rows
subset_JMP_Master_Table:selected[curr_selected_rows] = 1 ; //update the selected rows to 1
)//end doing things based on script
)// end if
); //end function
); //end row state handler