pb中的describe,evaluatate,lookupdisplay小結
describe 可以描述dw中某個對象的某個屬性的取值,雖然函數describe可以獲取對象的信息,但是表達式的取值就不能正常讀取了,而這又是經常遇到的.evaluate 如果想獲取數據窗口對象中由屬性、函數等構成的表達式的取值時,必須在函數describe中使用函數evaluate,lookupdisplay 在數據窗口控件上顯示的值和字段實際得到的值并不相同,使用函數getitemx只能讀取這樣的字段的真實取值,而不是用戶看到的值。如何才能讀取用戶看到的值?可以使用此函數,lookupdisplay函數不能直接從powerscript調用,可以在describe中和evaluate函數配合使用。因為函數lookupdisplay不能指定對哪行數據進行操作,它的參數只有一個字段名稱,所以必須和evaluate函數配合使用。該函數的語法是:lookupdisplay(columnname)參數columnname是字段的名稱,而不是一個字符串。函數執行錯誤則返回空字符串。
例一:
ls_1 = dw_1.describe("dw_1.cb_4.text")ls_2 = this.describe(dwo.name + ".coltype")語法: value = datawindow.describe(string ls)
例二:
判斷第3行的sex是否為1,如果是則返回男,否則返回女dw_1.describe("evaluate('if(sex = 1, 男, 女) ', 3)")
語法: evalute('expression',rowno)其中,expression是屬性表達式,rowno是要描述的行號。該函數放置在describe的屬性列表中。
例三:dw_1.describe("evaluate('lookupdisplay(column)'," + string (row number) + ")")
在dw_1 里面有一個gxbm字段的edit屬性頁下面:datawindow:d_dmzd_gxbm,display column:dmmc,data column:gxbm.在顯示時:不是顯示gxbm的值,而是顯示dmmc的值,但我們用getitemstring(row,"gxbm")時,得到的是gxbm的值,而不是顯示的dmmc值,如果我們想得到顯示的dmmc值,那就用lookupdisplay來用:ls_1 = dw_1.describe( "evaluate('lookupdisplay(gxbm)'," + string(1) + ")")
本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。