在用戶選擇要過濾的第一組數據之前,如何執行代碼執行?我有一個窗口提示用戶根據他們想要選擇的型號進行過濾,問題是我認為這個窗口被覆蓋並且當它一直運行時導致錯誤,所以我想要它首先停止,顯示窗口,並等待用戶輸入他們的選擇。這是窗口腳本:
//*** Create a window to prompt user to filter for Model numbers they would like to use
prods = Associative Array( Column( dt2, "Product CFN" ) << getValues ) << getKeys;
nw1 = New Window( "2014 Product Filter", lb1 = List Box( prods ), Button Box( "OK", OKscript2014 ) );
OKscript2014 = Expr(
SelectedProds = lb1 << getSelected;
selectedRows = [];
For( p = 1, p <= N Items( SelectedProds ), p++,
selectedRows = V Concat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p] ) )
);
dt5 = dt2 << Subset( Rows( selectedRows ), LinkToOriginalDataTable( 0 ) );
Wait( 0 );
dt5 << Save( dir || "\PrimaryRFR_ProductFiltered_2014.jmp" );
);
Re:在用戶選擇要過濾的第一組數據之前,我如何執行代碼執行?使窗口模態 - 停止所有代碼執行,直到窗口關閉。您還需要在窗口上方窗口中的按鈕中移動腳本的定義。例:
prods = Associative Array( Column( dt2, "Product CFN" ) << getValues ) << getKeys;
OKscript2014 = Expr(
SelectedProds = lb1 << getSelected;
selectedRows = [];
For( p = 1, p <= N Items( SelectedProds ), p++,
selectedRows = V Concat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p] ) )
);
dt5 = dt2 << Subset( Rows( selectedRows ), LinkToOriginalDataTable( 0 ) );
Wait( 0 );
dt5 << Save( dir || "\PrimaryRFR_ProductFiltered_2014.jmp" );
);
nw1 = New Window( "2014 Product Filter", <<MODAL></MODAL>
Re:在用戶選擇要過濾的第一組數據之前,我如何執行代碼執行?謝謝!還有一種方法可以讓這個窗口保持在前面並且以用戶為中心嗎?為了不讓它被另一個數據表過度顯示?
溫暖的問候,
扎克Re:在用戶選擇要過濾的第一組數據之前,我如何執行代碼執行?模態窗口應始終位於頂部。如果您在模態窗口頂部顯示其他窗口,我建議您致電技術支持。非模態窗口並不總是位於頂部。你可以發送一個非模態窗口<<把窗口帶到前面的消息。