PB笔记之调用数据窗口时的过滤条件添加方式

在PB查询数据窗口的数据时

通常可以有两种方式

一是在数据窗口事先写好查询条件,然后用retrieve()函数通过参数传递给数据窗口

这种方式适合查询条件较为简单,条件数较少的数据窗口

二是使用SetSqlSelect()函数传递一个SQL查询语句

使用第二种方式更为灵活,可以查询约束条件更加复杂的数据,如果使用ORACLE数据库 则可配合ORACLE函数处理一些更为复杂的查询条件
 

1、使用 setsqlselect 

ls_sql1 = is_sql +" and (YGSTATETYPE.CID = 0 or YGSTATETYPE.CID=2) and YGSTATETYPE.CSTATE=1 and MAN_TB.WORK_NATURE not in(3,8) "
ls_sql2 = is_sql +" and YGSTATETYPE.CID = 1 and YGSTATETYPE.CSTATE=1 and MAN_TB.WORK_NATURE not in(3,8) "
ls_sql3 = is_sql +" and (YGSTATETYPE.CID = 0 or YGSTATETYPE.CID=2) and YGSTATETYPE.CSTATE=1 and MAN_TB.WORK_NATURE in(3,8) "
ls_sql4 = is_sql +" and YGSTATETYPE.CID = 6 and YGSTATETYPE.CSTATE=1 "
ls_sql5 = is_sql +" and YGSTATETYPE.CSTATE=1 "
ls_sql6 = is_sql +" and YGSTATETYPE.CID=1 and YGSTATETYPE.CSTATE=1 and MAN_TB.WORK_NATURE in(3,8) "

tab_1.tabpage_1.dw_1.setsqlselect( ls_sql1)
tab_1.tabpage_2.dw_2.setsqlselect( ls_sql2)
tab_1.tabpage_3.dw_3.setsqlselect( ls_sql3)
tab_1.tabpage_4.dw_4.setsqlselect( ls_sql4)
tab_1.tabpage_5.dw_5.setsqlselect( ls_sql5)
tab_1.tabpage_6.dw_6.setsqlselect( ls_sql6)

tab_1.tabpage_1.dw_1.event ue_retrieve()
tab_1.tabpage_2.dw_2.event ue_retrieve()
tab_1.tabpage_3.dw_3.event ue_retrieve()
tab_1.tabpage_4.dw_4.event ue_retrieve()
tab_1.tabpage_5.dw_5.event ue_retrieve()
tab_1.tabpage_6.dw_6.event ue_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)

猜你喜欢

转载自www.cnblogs.com/Bokeyan/p/11527065.html