原先指令為
dw_tabxx.
modify(string ls_title,string ls_text),將ls_title欄位的TEXT屬性置換掉成ls_text.ls_text可以為某視區的某欄位內容,系統會主動先運算它.
例如
dw_up.modifytext(titlestring, accept_win.dw_up.custname)
解釋:在開啟的視窗中的資料視窗以接收單視窗accept_win的dw_up的欄位內容置換自己的titlestring物件的TEXT.
說明:titlestring為目標版面的TEXT物件,位於Header區.設計以dw_up.custname換算的結果字串替代其TEXT屬性內容.
用途:針對訂單視窗作業,開啟了 [選料視窗],這個選料窗可能是某條件開啟,例如該客歷史成交品,如果有指向客戶,資料視窗抬頭就可趁勢由data retrieve帶進來,但若選料窗與該客戶無關,但仍希望客戶名稱秀於資料視窗抬頭,此時就必須用此方法,將接收端的客戶名稱秀於 [選料視窗]的抬頭區.
目前系統只有接收讀取條件,無法接收客戶編號或名稱等參數,也可以透過呼叫PB function方式處理,但就會多了一個functon物件出來.
系統其實際執行內容會轉換為
dw_up.modify(titlestring+"
.text='"+accept_win.dw_up.custname+"'")
現改其格式為
dw_tabxx.
modifytext(string ls_title,string ls_text),用途相同
並增加一個新格式
dw_tabxx.
modifyexpress(string ls_mod),ls_mod可以含單引號
系統其實際執行內容會轉換為
dw_up.modify(ls_mod)
設計時遇到的問題時,當footer放了一個compute欄位 modnum,其運算式為 sum(if (isrowmodified(),1,0) for all),當資料視窗update或功能表free_modify時,已經沒有異動資料了,它的值回停在尚未update前的數字,造成意念上的誤會.
範例
功能表輸入 dw_up.modify(modnum.Expression='sum(if(isrowmodified(),1,0) for all)')
系統實際執行 dw_up.modify("modnum.Expression='sum(if(isrowmodified(),1,0) for all)'"),會代為加雙引號
此範例呼叫系統重新對sum()的運算式重算