標籤: filter
string
integer
null
指令碼資料庫
2012-05-16 16:33
3233人閱讀收藏
舉報
pb 函式積累(6)
作者同類文章x
知識點(做專案)(60)
作者同類文章x
函式作用:為datawindow或者datastore指定資料過濾規則。通常在呼叫該函式前使用函式retrieve將資料檢索到客戶端,該函式可以決定檢索到客戶端的這些資料哪些可以顯示,哪些不能顯示。該函式對客戶端的資料進行操作,和後台資料庫沒有任何關係。在設定完過濾規則後使用函式retrieve檢索資料是不合理的,每次設定過濾規則後都檢索資料,這樣的執行效率很低。需要注意的是,該函式緊緊是設定過濾規則,並不進行過濾。函式filter是進行過濾的,使用最近設定好的過濾規則對資料進行過濾。
函式語法:integer dwcontrol.setfilter ( string format )
ldwcontrol:要為其設定過濾規則的datawindow、datastore或者下拉子資料視窗控制項的名稱;
lformat:作為過濾規則的表示式,該表示式的返回值應該是boolean型別,或者是true、或者是false。如果表示式返回值為null,則在執行函式filter時自動彈出對話方塊讓使用者指定過濾規則。在表示式中可以使用資料視窗物件函式、列名、列號、數字、字串等。如果用到了列號,則應該以『#』開頭、後面緊跟數字來表示。多個條件可以使用邏輯運算子進行聯結,乙個非常良好的習慣是每個條件都應該使用括號。這樣既可以保證表示式的清晰,又可以避免一些bug。後面的**例項中會講到。
返 回值:數字型別,1表示執行成功,-1表示執行失敗。該函式的返回值沒有多大意義,很少在程式中使用該返回值。
**例項:
例1:使用列名進行過濾。
string ls_filter
ls_filter = "cust_qty > 100 and cust_code >30"
dw_employee.setfilter(ls_filter)
dw_employee.filter( )
例2:必須使用括號的情況。下面的指令碼在邏輯上看起來沒有什麼問題:
string ls_filter
ls_filter = 「name like 『張%』 and article_title like 『%計算機%』」
dw_1.setfilter()
dw_1.filter()
實際上,上面的程式是不能正確執行的。將過濾規則作如下改動就可以了:
ls_filter = 「(name like 『張%』) and (article_title like 『%計算機%』)」
例3:取消過濾規則。下面兩個語句都能實現:
語句1:dw_1.setfilter(「」)
語句2:dw_1.setfilter(「1=1」)
例4:下面的語句在執行時可以讓使用者自己指定過濾規則:
string ls_null
setnull(ls_null)
dw_1.setfilter(ls_null)
dw_1.filter()
例5:下面指令碼可以判斷資料視窗中是否有主鍵重複的資料。假設資料視窗中的主鍵是dept_id:
string ls_fieldname//主鍵名稱
long ll_rc//資料視窗中總的資料行數
ls_fieldname = "dept_id"
dw_1.setfilter("1=1")//取消過濾規則,顯示全部的資料
dw_1.filter()//過濾
ll_rc = dw_1.rowcount()//儲存資料行數
dw_1.setsort(ls_fieldname + " a")//用主鍵進行排序
dw_1.sort()
//下面語句是核心語句。該過濾規則的含義是:只顯示相鄰行不同的資料。
dw_1.setfilter(ls_fieldname + " <> " + ls_fieldname + "[-1] or getrow() =1")
dw_1.filter()
if dw_1.rowcount() < ll_rc then
messagebox("提示",ls_fieldname + "列中存在重複的資料!",stopsign!)
end if
mod函式詳解
我們知道,mod函式是乙個求餘函式,其格式為 mod nexp1,nexp2 即是兩個數值表示式作除法運算後的餘數。那麼 兩個同號整數求餘與你所知的兩個正數求餘完全一樣 即兩個負整數與兩個正整數的演算法一樣 一 兩個異號整數求餘 1.函式值符號規律 餘數的符號 mod 負,正 正 mod 正,負 負...
CDC PatBlt 函式詳解。
函式功能 該函式使用當前選入指定裝置環境中的刷子繪製給定的矩形區域。通過使用給出的光柵操作來對該刷子的顏色和表面顏色進行組合。函式原型 bool patblt hdc hdc,int nxleft,int nyleft,int nwidth,int nheight,dword dwrop 引數 hd...
php header 函式詳解
一 作用 php只是以http協議將html文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下http協議了,與php無關了,可參照http www.w3.org protocols rfc2616 rfc2616。傳統的標頭一定包含下面三種標頭之一,並只能出現一次。...