在PB查詢數據窗口的數據時
通常可以有兩種方式
一是在數據窗口事先寫好查詢條件,然后用retrieve()函數通過參數傳遞給數據窗口
這種方式適合查詢條件較為簡單,條件數較少的數據窗口
二是使用SetSqlSelect()函數傳遞一個SQL查詢語句
使用第二種方式更為靈活,可以查詢約束條件更加復雜的數據,如果使用ORACLE數據庫 則可配合ORACLE函數處理一些更為復雜的查詢條件
1、使用 setsqlselect
ls_sql1=dw_1.getsqlselect()
ls_sql1 = is_sql +" A.FNAME='張三' "
tab_1.tabpage_1.dw_1.setsqlselect( ls_sql1)
tab_1.tabpage_1.dw_1.event retrieve()
2、
直接在 retrieve事件中添加參數
String endtime
String starttime
Integer v_checked
endtime=String(em_end.text)
starttime=String(em_start.text)
v_checked=1
if not cbx_1.checked then v_checked=0
dw_1.retrieve(starttime,endtime,v_checked)
////////////////////////////////////////pb中數據窗口filter函數和retrieve函數的區別和聯系/////////////////////////////////////////////////////////////////////
retrieve():按條件從數據庫來中篩選數據,顯示到數據庫窗口中。
filter():對數據庫窗口中的數據庫進行篩選,顯示或隱藏數據。
區別在於源,retrieve()篩選的是數據庫中的數據,filter()篩選的是已經顯zhidao示在數據庫窗口中的數據。
filter() 使用:
file_string='列名=值'
dw_1.setredraw( false) //抑制重畫
dw_1.setfilter(file_string) //設置條件
dw_1.filter() //執行
dw_1.setredraw( true) //允許重畫
dw_1.scrolltorow( 1) //跳到指定行
retrieve() 使用:
this.retrieve(參數)
