Ciao, sto cercando di prendere una riga da una tabella e di inserirla in un'altra tabella in una riga specificata dall'utente in una casella di immissione. Tuttavia, la funzione di aggiornamento non sembra avere la possibilità di specificare le righe, quindi mi resta da impiegare un'ora e digitare ciascuna delle mie 105 colonne per entrambe le tabelle di dati in quanto tali:
dt:{"ColA"}[rownumber] = dt1:{"ColA"}[1];<BR />dt:{"ColB"}[rownumber] = dt1:{"ColB"}[1];<BR />.<BR />.<BR />.<BR />dt:{"ColDA"}[rownumber] = dt1:{"ColDA"}[1];Il che va bene, ma posso immaginare i miei amici programmatori che si dimenano sui loro posti. Esiste un modo più elegante per farlo? Ho visto qualcuno fare riferimento ad array associativi, ma ho problemi a usarli.
Presumo che il codice sopra sia sufficiente, ma se è importante, ecco il codice originale, con la relativa linea disegnata in rosso:
w = New Window( "Choose Row Number for XRD Run input", // opens a window with a title and this content...
Border Box( top( 20 ), bottom( 20 ), Left( 20 ), Right( 20 ), // window dressing
V List Box( // V and H lists nest to organize the display boxes
H Center Box( Text Box( "Choose Row Number for XRD Run input" ) ), // a second title, centered
Spacer Box( size( 1, 30 ) ), // a little vertical space
H Center Box( rowtemp=Number Edit Box( ) ), // data entry
Spacer Box( size( 1, 10 ) ), // a little vertical space
H Center Box( // center the button
Button Box( "Import Data", // this script runs when the button is pressed...
rownumber = rowtemp << Get;
// Run XML Import
Include( "jmpprj://contents/Import XRD XML.jsl");
// Reference Data Tables
dt = Data Table( "Experimental Info" );
dt1 = Data Table( "XMLTempTable" );
// Move to Experimental info table
<FONT color="#FF0000">dt:{"xsi:Schema Location 1"}[rownumber] = dt1:{"xsi:Schema Location 1"}[1];</FONT>
// Close XMLTempTable
close(dt1);
// optionally, close the dialog. Or, you might want to run it again...
w << closeWindow; // just the dialog, not the report
)
)
)
)
);