報錯資訊:
DataWindow column type does not match GetItem type at line 16 in p1#ue_create_ds##1 event of object w_store_report__0e7c0685.
譯文:資料視窗列型別與GetItem函式回傳型別不匹配
賦值代碼:
If idw_master.ClassName() = 'dw_detail_list' Then
ldw_src = wf_getcontrol('dw_detail_list')
Else
ldw_src = wf_getcontrol($$is_srcdwname)
End If
If ldw_src.of_iscolexist('wareid') = False Then Return 0
ll_wareid = ldw_src.GetItemNumber(ldw_src.GetRow(),'wareid')
大哥們,才入這門,取的值也是number型別。這上面的報錯和賦值代碼能看出是哪里的問題嘛?ldw_src是賦值的什么,wf_gets是函式嘛?還有就是of_iscolexist又是什么東西額。
uj5u.com熱心網友回復:
which verion of your powerbuilder ?uj5u.com熱心網友回復:
ll_wareid = ldw_src.GetItemNumber(ldw_src.GetRow(),'wareid') wareid 是數值型的?uj5u.com熱心網友回復:
1. If idw_master.ClassName() = 'dw_detail_list' Then //PB的命名習慣, 用 i 開頭, 代表 Instance 級的變量, 用 l 開頭, 則代表 local 變量2. ldw_src = wf_getcontrol('dw_detail_list') //因此 ldw_src 應該是一個 datawindow control 控制元件, wf_ 應是 window function 的意思, 這個是自定義的 function
3. Else //第1~5行, ldw_src 會指向這2個datawindow control 其中的一個 ( dw_detail_list 或是 $$is_srcDwName )
4. ldw_src = wf_getcontrol($$is_srcdwname)
5. End If
6. If ldw_src.of_iscolexist('wareid') = False Then Return 0 // of_iscolexist 是 ldw_src 的 object function, 不論是 wf_ 或 of_ 開頭的 function, 都不是PB自帶的function
7. ll_wareid = ldw_src.GetItemNumber(ldw_src.GetRow(),'wareid') //這應該是前人開發的 function
//因1~5行的 dwc 是動態取得, 第6行必須判別該 dwc 裏的 datawindow object 是否有該欄位 of_iscolexist --> is column exist 的縮寫
//若第6行檢測後, 該欄位是存在的, 才由第7行讀取該欄位的內容
//PB的GetIem並不會自已判別欄位型別, 因此拆分了 GetItemNumber, GetItemDecima, GetItemString...等對映所需型別的function
//因為您的程式, 有相當多的自定function, 不易判別錯誤原因
uj5u.com熱心網友回復:
額。。。。。請細心閱讀操作手冊uj5u.com熱心網友回復:
再看看 ldw_src.GetItemNumber(ldw_src.GetRow(),'wareid')的資料型別是否有問題轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14792.html
標籤:基礎類
上一篇:T+開發介面對接
