Affichage des sélections précédentes dans la case à cocherBonjour tous le monde,
J'ai cette liste de sélection simple où je choisis un processus. À côté de cela, j'ai la case à cocher où
Je peux sélectionner d'autres paramètres. Après avoir confirmé la sélection avec le bouton OK, les paramètres choisis sont enregistrés en tant que variable de chaîne combinée avec un délimiteur de virgule. Est-il possible, après avoir sélectionné le processus précédent (par exemple pour choisir des paramètres supplémentaires dans la case à cocher), de lire les paramètres précédemment enregistrés et d'afficher à nouveau les sélections dans la case à cocher (afin de voir immédiatement ce qui a été précédemment choisi)? De plus, l'enregistrement renouvelé de la sélection mise à jour / modifiée devrait également être possible.
J'apprécierais pour des conseils et des suggestions sur la façon de résoudre le problème mentionné.
Merci et cordialement.
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 valueRe: Affichage des sélections précédentes dans la case à cocherVous pouvez faire à peu près tout ce que vous voulez en JSL. La question ne devrait donc pas être CAN JSL do ???? mais plutôt, comment faire pour que JSL fasse ????.
Avec des changements mineurs, je pense que j'ai suffisamment changé votre code pour vous donner une idée de la façon de faire ce que vous avez demandé. Assurez-vous de prendre le temps d'étudier le Guide de 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
),
);Re: Affichage des sélections précédentes dans la case à cocherOk, merci, je traiterai cela plus loin.