下午好,
请指教
这是一个两步的案例。第一步是在三个集群中向用户展示复选框。
复选框项目是 Test1-4。用户可以选择 1 个或所有复选框,然后单击
下一步按钮,“重要的事情”大纲框应该关闭和一个字符串列框
选定的测试应出现在附加的大纲框“输入值”中,该框位于 step2 expr 中。
选中的项目列表将不会在步骤 2 中进行评估
提前致谢!
Names Default To Here( 1 );
/*This is a two step case. First step is to present user with check boxes in three clusters.
The check box items are Test1-4. The user may select 1 or all check boxes and when they click
the Next Step Button, the "Something Important" Outline box should close and a string col box with
the selected tests should appear in an appended Outline box, "input values", which is in the step2 expr.
The list of selected items will not evaluate in the step2?*/
Test1 = "First";
Test2 = "Second";
Test3 = "Third";
Test4 = "Four";
step2 = Expr(
ob1 = Outline Box( "Input Values", String Col Box( "Tests", Eval List( tests ) ), )
);
nw = New Window( "Example",
vlb0 = V List Box(
ob0 = Outline Box( "Something Important",
H List Box(
Panel Box( "Cluster1", cb0 = Check Box( Eval List( {Test1, Test2} ) ) ),
Panel Box( "Cluster2", cb1 = Check Box( Eval List( {Test3} ) ), ),
Panel Box( "Cluster4", cb2 = Check Box( Eval List( {Test4} ) ), ),
), // end Hlb
bbx = Border Box(
H List Box(
bb0 = Button Box( "Select All",
cb0 << Set All( 1 );
cb1 << Set All( 1 );
cb2 << Set All( 1 );
),
bb1 = Button Box( "Next Step",
c1 = cb0 << Get Selected();
c2 = cb1 << Get Selected();
c3 = cb2 << Get Selected();
tests = {};
If( Sum( N Items( c1 ), N Items( c2 ), N Items( c3 ) ) == 0,
ob0 << Close( 0 ),
vlb0 << Append( Eval( step2 ) ) & ob0 << Close( 1 ) &
For( i = 1, i <= N Items( c1 ), i++,
Insert Into( tests, c1[i] )
) & For( j = 1, j <= N Items( c2 ), j++,
Insert Into( tests, c2[j] )
) & For( k = 1, k <= N Items( c3 ), k++,
Insert Into( tests, c3[k] )
)
);,
),
bb = Button Box( "Cancel", nw << Close Window ),
), // end hlb
),
),
), // end vlb0
);
bbx << Left( 285 );谢谢@ron_horne用于指出从按钮框订购操作的问题。Append 消息需要放在末尾。