在复选框中显示先前的选择大家好,
我有这个简单的选择列表,可以在其中选择一些过程。旁边有复选框
我可以选择其他一些参数。使用“确定”按钮确认选择后,所选参数将另存为带逗号分隔符的组合字符串变量。在选择上一个过程之后(例如,为了从复选框中选择其他参数),是否可以读取先前保存的参数并在复选框中再次显示选择(以便立即查看先前选择的内容)?另外,更新/更改选择的重新保存也应该是可能的。
我将为您提供有关如何解决上述问题的提示和建议。
感谢你并致以真诚的问候。
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 value回复:在复选框中显示先前的选择您可以在JSL中完成几乎所有您想做的事情。 所以问题不应该是JSL可以吗???但是,您如何让JSL来做????。
经过细微的更改,我想我对您的代码进行了足够的更改,使您对如何执行所要求的内容有所了解。确保您花时间学习《脚本指南》。
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
),
);回复:在复选框中显示先前的选择好的,谢谢,我将进一步处理。