PB筆記之調用數據窗口時的過濾條件添加方式


在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(參數) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM