下午好,
請指教
這是一個兩步的案例。第一步是在三個集群中向用戶展示複選框。
複選框項目是 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 消息需要放在末尾。