假如:有一個主視窗,主視窗中有一個資料視窗和一個按鈕,通過按鈕彈出另一個子視窗,在子視窗中的資料視窗中選擇資料來傳回到主視窗的資料視窗中。(主視窗和子視窗的表不同,但欄位一致)
需要實作的功能是:在傳回資料后,主視窗資料未保存,子視窗再次彈出時將已傳回資料過濾掉
請那位大俠賜教!!謝謝!
uj5u.com熱心網友回復:
聽你描述的功能,是不是這樣,比如主視窗是編輯“參加活動”的頁面,你點擊一個按鈕彈出子視窗,子視窗是選擇“參加人員”的頁面,你選擇了“張三、李四”,關閉子視窗回傳到主視窗,然后第二次點擊子視窗,希望子視窗里過濾掉“張三、李四”,是這個意思嗎?解決方法:
1.在主視窗中增加個隱藏的datawindow,這個datawindow 的databoject跟子視窗的DW的dataobject設定成一樣。
2.主視窗的按鈕clicked事件中,打開子視窗時將這個隱藏的datawindow作為引數傳過去。
3.子視窗,open事件中,重繪DW后,可通過回圈傳遞過來的DW引數進行過濾操作。
4.子視窗,close 事件中,回傳處理過的DW引數。
uj5u.com熱心網友回復:
把主視窗中的資料視窗作為引數傳遞給子視窗,把根據主視窗把資料從子視窗移至過濾緩沖區,直接用rowsmove即可
uj5u.com熱心網友回復:
1樓兄弟說的方法可以實作,資料量多的時候會增加程式負擔。你可以這個做,不彈出子視窗,在主視窗的基礎上,創建一個tab,掛上一個資料視窗,默認屬性隱藏,當你第一次點擊按鈕時,tab屬性變為可視,檢查tab上的資料視窗是否有資料,沒有資料則直接從資料庫中將全部資料提出來,然后選擇到你需要的行,使用rowsmove,這樣你得到了想要的資料,同時將tab隱藏。當你第二次點擊按鈕時,繼續檢查tab上的資料視窗是否有資料,此時已經有資料了,tab上的資料視窗不需要重新提取,你只需要將tab變為可視就可以了,此時tab上的資料視窗中不存在你上次選在的資料,然后選在對應行rowsmove就可以了。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/49775.html
標籤:DataWindow
