本文主要介绍如何在pb中根据数据窗口中的字段对数据窗口进行模糊查询 本系统的代码示例采用Power Builder 进行演示
代码及设计
新建一个窗口 命名为w_query 在窗口中放入一个数据窗口控件 命名为dw_master 在dw_master中放入一个数据窗口 放置一个按钮 命名为cb_query 见下图
新建一个结构(structure)命名为str_result_column 其参数如下
在dw_master增加两个用户事件 命名为ue_action_query ue_action_refresh
在cb_query中增加如下代码
在窗口的Open事件中增加如下代码
dw_master setTransObject(sqlca)
在dw_master的ue_action_query中增加如下代码
str_result_column lstr_ //结构str_result_column的成员adw_result指查询结果所产生作用的dw // 成员adw_column指在本窗口查询条件所要显示的dw lstr_ adw_result = this lstr_ adw_column = this OpenWithParm(wroot_dw_query lstr_ ) 在dw_master的ue_action_refresh事件中增加如下代码
dw_master retrieve()
新建一个窗口 命名为wroot_dw_query 该窗口用以进行模糊查询 其设计完成后界面如下所示
其中 执行 按钮名为 cb_exec 返回 按钮名为 cb_exit 返回 按钮下的数据窗口名为dw_column 其dataObject为d_column_set 中间的数据窗口名为dw_where 其dataObject为d_where
d_column_set的设计完成界面如下所示
其sql为
dw_where的设计完成界面如下
其sql为
在PB中如何实现数据模糊查询(二)
在PB中如何实现数据模糊查询(三)
在PB中如何实现数据模糊查询(四)
lishixinzhi/Article/program/SQL/201311/16318
选择题12题是C和B
填空第一个应该说的是编辑,调试那4个阶段。
第7体应该是创建,连接数据库,配制DB,其他不清楚了。
我也是以前学的,现在没什么映像了,PD已经淘汰了差不多了!
在dw_1doubleclicked事件里写
string ls_para
ls_para = thisgetitemstring(row,'单据号C')
//w_1dw_2设置检索变量为 字段单据号C
if isvalid(w_1) then
w_1dw_2retrieve(ls_para)
else
openwithparm(w_1,ls_para)
//在w_1的open事件里获取参数,然后dw_2retrieve
end if
您好,
首先,窗口与窗口的参数传递使用 openwithparm(),然后因为你传的是一组数据,可以有下面处理意见
1、数据表的关键字为单列,像‘单据编号’,这个比较简单,grid 中把关键字 读到一个数组中,把数组传递到另一个窗口
2、关键字比较多,表格比较复杂,可以考虑,grid中,先把你需要的数据按条件filter,然后使用string ls_parm 变量来保存数据
ls_parm = dw_1describe("datawindowdata")
在另一个窗口放一个与grid一样结构的DW(当然如果你的freeform型DW的结构是一样的,这个步骤可以省略),来improtstring()来还原数据
传用,openwithparm(w_1,aaa)
接收用messagestringparm
messagenumberparm
messagepowerobjectparm
接收不同的数据类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)