子数据窗口问题?请进入?

bobi1314 2002-03-07 12:00:26
在子数据窗口有参数使用中我们怎么让他的检索条件合适的进行呢?我使用了getchild()检索方式将其取出为一个datawindowchild后,再进行检索也是不行。
前提:
我的父数据窗口中的数据表中没有任何的数据。
我只是用了insertrow()和setitem()给他数据
但是我在这时,就要给一个行的子数据窗口找我要的一个值

dw_option:是父数据窗口控件
dwchild:是自己定义的子数据窗口

代码如下:

//===========================================================
//===============搜索数据表的字段处理工作====================
//从pbcatcol系统表中取得数据为字段中的各个字段名给条件数据窗口
// 2002-03-06 作者:bobi
//============================================================
string tab_name,setting,sqlcode
int row,i
dw_option.settransobject(tran)
tab_name = ddlb_tablist.text
dw_option.visible = true
//游标取值字段名
if isnull(tab_name) or tab_name <> '' then
select count(*)
into :row
from pbcatcol
where pbc_tnam = :tab_name
using tran;
declare fileds cursor for
select pbc_cnam from pbcatcol where pbc_tnam =:tab_name
using tran;
//=====================================
open fileds;
//给数据窗口中给出表中字段的值

for i = 1 to row

fetch fileds into :tab_name;

if isnull(tab_name) or tab_name='' then

else
do while tran.sqlcode=0
dw_option.insertrow(i)
//setting = dw_option.Object.datawindow.Retrieve.AsNeeded
//dw_option.Object.datawindow.Retrieve.AsNeeded='yes'
//子数据窗口的处理datawindowchild
Datawindowchild dwChild
//dwchild = create datawindowchild
dw_option.getchild('fileds',dwchild)
dwchild.settransobject(tran)
dwchild.retrieve(tab_name)
dwchild.setfilter('pbc_tnam = "'+ tab_name +"'")
dwchild.filter()
dw_option.setitem(i,'fileds',tab_name)
fetch fileds into :tab_name;
loop
end if
next
dw_option.setsort('fileds')
dw_option.sort()
end if

这是我的事件代码。请问你能帮我看看吗?谢谢了
我急切的等待着你的答复。。
也可以给我的qq:发问题
号码:89760950
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
2000pinbo 2002-03-07
  • 打赏
  • 举报
回复
好像你的意思是点到某个表的行上,下拉数据窗口显示那个表中的列的列表.
这意味你在选择不同行时,下拉数据窗口的值要动态改变。
上面的代码肯定不行。
bobi1314 2002-03-07
  • 打赏
  • 举报
回复
问题解决了,情况如下面的代码:
其思想是须从子的开始进行检索之后再进行父检索则可,
但是本题中没有父检索,只是利用了一个过河是的采用一个表。谢谢各位光临本题。

//===========================================================
//===============搜索数据表的字段处理工作====================
//从pbcatcol系统表中取得数据为字段中的各个字段名给条件数据窗口
// 2002-03-06 作者:bobi
//============================================================
string tab_name,setting,sqlcode,hanld,name
int row,i
dw_option.settransobject(tran)
tab_name = ddlb_tablist.text
name = tab_name
dw_option.visible = true

dw_option.Reset()

dw_option.filter()

//游标取值字段名
if isnull(tab_name) or tab_name <> '' then
select count(*)
into :row
from pbcatcol
where pbc_tnam = :tab_name
using tran;

declare fileds cursor for
select pbc_cnam,pbc_hdr from pbcatcol where pbc_tnam =:tab_name
using tran;

//=====================================
open fileds;
//给数据窗口中给出表中字段的值
for i = 1 to row

fetch fileds into :tab_name,:hanld;
do while tran.sqlcode=0

dw_option.insertrow(i)
//setting = dw_option.Object.datawindow.Retrieve.AsNeeded
//dw_option.Object.datawindow.Retrieve.AsNeeded='yes'
//子数据窗口的处理datawindowchild
Datawindowchild dwChild
dw_option.getchild('fileds',dwchild)
dwchild.settransobject(tran)
dwchild.retrieve(name)
// dwchild.setfilter('pbc_tnam = "'+ tab_name +"'")
// dwchild.filter()
dw_option.setitem(i,'hanld',hanld)
dw_option.setitem(i,'fileds',tab_name)
fetch fileds into :tab_name,:hanld;
loop
next
end if
bobi1314 2002-03-07
  • 打赏
  • 举报
回复
那我们怎么去检测子数据窗口的参数呢?用什么方式来进行检索呢?
bobi1314 2002-03-07
  • 打赏
  • 举报
回复
请你多多赐教好吗?我就是看了不行才提的问题吗?

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧