Visualizzazione delle selezioni precedenti nella casella di controlloCiao a tutti,
Ho questo semplice elenco di selezione in cui scelgo un processo. Accanto a quello ho la casella di controllo dove
Posso selezionare alcuni altri parametri. Dopo aver confermato la selezione con il pulsante OK, i parametri scelti vengono salvati come variabile stringa combinata con delimitatore virgola. È possibile, dopo aver selezionato il processo precedente (ad esempio per selezionare parametri aggiuntivi dalla casella di controllo), leggere i parametri precedentemente salvati e visualizzare nuovamente le selezioni nella casella di controllo (per vedere immediatamente ciò che è stato precedentemente scelto)? Inoltre, dovrebbe essere possibile il nuovo salvataggio della selezione aggiornata / modificata.
Gradirei suggerimenti e suggerimenti su come risolvere il problema menzionato.
Grazie e cordiali saluti.
dt = New Table( "example",
Add Rows( 3 ),
New Column( "Process",
Character( 16 ),
"Nominal",
Set Values( {"Process_1", "Process_2", "Process_3"} )
),
New Column( "Selected",
Character( 16 ),
"Nominal",
Set Values( {} )
)
);
New Window("Example",
H List Box(
processes = {"Process_1", "Process_2", "Process_3"};
//then display
Panel Box("Process",
process = List Box( processes, max selected( 1 ) ),
Button Box( "OK",
process_selected = process << get selected ),
//Write(process_selected[1])
),
Spacer Box(Size(20, 10)),
Panel Box("Parameters",
params = Check Box({"parameter_1",
"parameter_2",
"parameter_3",
"parameter_4"
})
),
),
Button Box("SAVE",
choice_parameters = params << Get Selected();
),
);
//combine
combined = Concat Items(choice_parameters, ",");
//find row in "Process" column having selected process
r = dt << Get Rows Where( :Process == process_selected[1] );
dt:Selected[r] = combined; // Update valueRi: Visualizzazione delle selezioni precedenti nella casella di controlloPuoi fare qualsiasi cosa tu voglia in JSL. Quindi la domanda non dovrebbe essere CAN JSL do ???? ma piuttosto, come si fa a fare JSL ????.
Con piccole modifiche, penso di aver cambiato il tuo codice abbastanza da darti un'idea di come fare ciò che mi hai chiesto. Assicurati di dedicare del tempo allo studio della Guida agli script.
Names Default To Here( 1 );
dt = New Table( "example",
Add Rows( 3 ),
New Column( "Process", Character( 16 ), "Nominal", Set Values( {"Process_1", "Process_2", "Process_3"} ) ),
New Column( "Selected", Character( 16 ), "Nominal", Set Values( {} ) )
);
New Window( "Example",
H List Box(
processes = {"Process_1", "Process_2", "Process_3"};
//then display
Panel Box( "Process",
process = List Box( processes, max selected( 1 ) ),
Button Box( "OK", process_selected = process << get selected ),
Button Box( "show previous selection",
If( Is Empty( r ),
Dialog( "no previous selection has been made" ),
Dialog( "Previous selection is:", dt:selected[r] )
)
)
//Write(process_selected[1])
);,
Spacer Box( Size( 20, 10 ) ),
Panel Box( "Parameters",
params = Check Box( {"parameter_1", "parameter_2", "parameter_3", "parameter_4"} )
),
),
Button Box( "SAVE",
choice_parameters = params << Get Selected();
combined = Concat Items( choice_parameters, "," );
//find row in "Process" column having selected process
r = (dt << Get Rows Where( :Process == process_selected[1] ))[1];
dt:Selected[r] = combined; // Update value
),
);Ri: Visualizzazione delle selezioni precedenti nella casella di controlloOk, grazie, lo elaborerò ulteriormente.