当前位置: 代码迷 >> PB >> datawindow从DropDownListBox取值显示相关信息的有关问题
  详细解决方案

datawindow从DropDownListBox取值显示相关信息的有关问题

热度:74   发布时间:2016-04-29 06:57:33.0
datawindow从DropDownListBox取值显示相关信息的问题
假设我现在有张数据表
name   point    id
a       89       123
b       90       234
c        87      345
设置了一个dropdownlistbox控件,以name字段为查询基础,现在我想挡在dbl控件选择a时,点击"查询"按钮
时,dw_1只显示有关a的信息,而b和c不显示,请问“查询”按钮的脚本语言该怎么写??

------解决方案--------------------
ddlb_1是下拉列表控件
dw_1是datawindow

string ls_filter

ls_filter = trim(ddlb_1.text)

if isnull(ls_filter) or ls_filter = '' then
   
else
    dw_1.setredraw(false)
    dw_1.setfilter('')
    dw_1.filter()
    dw_1.setfilter("name = '" + ls_filter + "'")
    dw_1.filter()
    dw_1.setredraw(true) 
end if


------解决方案--------------------
1.先retrieve(),然后过滤
ddlb_1是下拉列表控件
dw_1是datawindow

string ls_filter

ls_filter = trim(ddlb_1.text)

if isnull(ls_filter) or ls_filter = '' then
   
else
    dw_1.setredraw(false)
    dw_1.setfilter('')
    dw_1.filter()
    dw_1.retrieve()
    dw_1.setfilter("name = '" + ls_filter + "'")
    dw_1.filter()
    dw_1.setredraw(true) 
end if

2.改变sql 的条件,直接retrieve()
设一个实例变量
is_sql_old
window的open事件里

is_sql_old =  dw_1.getsqlselect() //获取原始的sql语句

查询按钮里

string ls_filter,ls_sql

ls_filter = trim(ddlb_1.text)

ls_sql = is_sql_old
if isnull(ls_filter) or ls_filter = '' then   
else   
    .....拼接sql语句,把" and name = '" + ls_filter + "'",加入到ls_sql变量接收
    的sql语句中,这要看实际的sql语句
end if

dw_1.setsqlselect(ls_sql)  //datawindow更新为新的sql语句
dw_1.settransobject(sqlca)
dw_1.retrieve()




  相关解决方案