Finestra di ricerca informazioniCiao,
Come nuovo utente .jsl ho tentato di imparare producendo un piccolo script per estrarre i dati dalla tabella di dati di esempio di una grande classe dato un input da parte dell'utente.
Per la maggior parte dei problemi che ho riscontrato, le soluzioni si possono trovare su questi forum di discussione, ma ho alcune cose in più che vorrei aggiungere che non riesco a trovare alcuna informazione su.
- Se l'utente immette un nome errato (ovvero se non vengono trovate righe corrispondenti), come posso scrivere una finestra di avviso per pop-up e informare l'utente di questo?
- Invece di aprire una tabella di dati secondaria, è possibile stampare il valore della cella restituita nella finestra dell'interfaccia utente stessa (sotto i pulsanti Cerca e annulla)? o in caso contrario, in una nuova finestra simile alla finestra di avviso sopra descritta.
- Potrebbero essere fatte ottimizzazioni o miglioramenti generali allo script?
Grazie in anticipo per qualsiasi aiuto,
No7
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp", "Invisible" );
dt << Clear Selected;
cols = dt << getColumnNames( "String" );
delcols = {"name"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( cols, As List( Loc( cols, delcols[i] ) ) )
);
lookup_script = Expr(
myName = Uppercase( name1 << get text );
If( myName != "",
match_rows = dt << get rows where( :name == myName )
);
dt << subset( columns( cols[cb << get] ), rows( match_rows ) );
);
UIwin = New Window( "Big Class Age/Height Lookup",
Show Menu( 0 ),
Show Toolbars( 0 ),
//<<MODAL></MODAL>Ri: finestra di ricerca delle informazioni @uday_guntupalli Fantastico il seguente ha funzionato;
If( Nrows(match_rows) == 0,
Text Box( "Serial Not Found."),
Grazie per la sua pronta risposta!
Ri: finestra di ricerca delle informazioni @ JMPUserNumber7 ,
Prova N Rows () se è un vettore riga N Cols () se è un vettore col.
Ri: finestra di ricerca delle informazioni @uday_guntupalli Grazie mille, questo è esattamente quello che stavo cercando, non ero a conoscenza della funzione Append in questo caso!
Ho aggiornato lo script per restituire una stringa quando non è stato immesso alcun nome e modificato leggermente le modifiche. Tuttavia non riesco a ottenere quanto segue per funzionare
If(IsEmpty(match_rows),
Text Box("The name you looked up does not exist")Dalla lettura Qui è perché JMP sta restituendo una matrice invece del testo desiderato. Qualche idea di un lavoro in giro?
Grazie ancora.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp", "Invisible" );
dt << Clear Selected;
cols = dt << getColumnNames( "String" );
delcols = {"name"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( cols, As List( Loc( cols, delcols[i] ) ) )
);
lookup_script = Expr(
myName = Uppercase( name1 << get text );
If( myName == "",
VL1 << Append( H List Box( Text Box( "Please enter a name.", <<BULLET point=""></BULLET>
Ri: finestra di ricerca delle informazioni @ JMPUserNumber7 ,
Prova a fare qualcosa del genere:
dt = Open( "$SAMPLE_DATA/Big Class.jmp", "Invisible" );
dt << Clear Selected;
cols = dt << getColumnNames( "String" );
delcols = {"name"};
For( i = 1, i <= N Items( delcols ), i++,
Remove From( cols, As List( Loc( cols, delcols[i] ) ) )
);
lookup_script = Expr(
myName = Uppercase( name1 << get text );
If( myName != "",
match_rows = As List(dt << get rows where( :name == myName ))
);
// dt << subset( columns( cols[cb << get] ), rows( match_rows ) );
// My Edit
VL1 << Append(
H List Box(
If(IsEmpty(match_rows),
Text Box("The information you looked up does not exist")
,
Text Box("The information you looked up is" || char(dt[match_rows,cols[cb<<GET></GET>