读书人

datawindow从DropDownListBox取值显示

发布时间: 2013-02-17 10:44:46 作者: rapoo

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()




读书人网 >PB

热点推荐