程式目的:有時要處理同性質的資料
     但因某特定條件而要開不同的 DataWindow 來執行
     將多個 DataObject 藉由同一個 DataWindow 控制
     這就是我的終極目標啦~~


白話文:我們學校的財產分成三個 Table 在儲存
    列入財產/列管財產/列管物品 ->不要問我為什麼
    三張 Table 的結構及性質是一模一樣的
    為何不併在一起,這也是我不了解的地方
    
    程式需求是要在同一個界面
    藉由不同 Table 的選擇,新增到對應的地方
    但是所有的流程及功能都是一樣的
    只是對應的 DataWindow 不同

    我又不想開三個獨立的 Window 去執行這件事
    所以才找到了這個方法


 


這是程式的 Window 初始設定畫面


20090418_02.jpg


 


其中在 dw_1 的介面中,有一個欄位是選擇要匯入的 Table
20090418_01.jpg



程式會根據此欄位的值傳到 dw_2 去做處理
而其中 dw_2 負責新增財產的動作
但因匯入的 Table 目標不同
所以我做了三個獨立的 DataWindow
完成的 DataWindow共計有:
 *
dw_ngt0501_1 - 處理列入財產
 *
dw_ngt0501_2 - 處理列管財產
 * dw_ngt0501_3 - 處理列管物品


程式中使用 CommandButton 去觸發後續的程式

在 cb_1 的 clicked() 中,控制切換 DataObject 的部份程式碼如下:
------------------------------------------------------------------------


string lls_DBPath
..............(處理程序)


lls_DBPath = String(dw_1.GetItemString( i, "t4_prodb"))
..............(處理程序)


dw_2.dataObject = ""

Choose Case lls_DBPath
    Case "1"
        dw_2.dataObject = "dw_ngt0511_1"
        dw_2.setTransObject(in_tr)
    Case "2"
        dw_2.dataObject = "dw_ngt0511_2"
        dw_2.setTransObject(in_tr)
    Case "3"
        dw_2.dataObject = "dw_ngt0511_3"
        dw_2.setTransObject(in_tr)
End Choose


------------------------------------------------------------------------


如此一來就大功告成啦~~~~


其中因為對於三種不同類型財產的新增及匯入程式都相同


所以一套程式碼就控制了匯入到三個不同 Table 的作業


 

arrow
arrow
    全站熱搜

    skyfoxmis 發表在 痞客邦 留言(0) 人氣()