假设我现在有张数据表
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()