| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> pb >> datawindow >> 文章正文
PB中隐藏下拉数据窗的检索参数            【字体:
PB中隐藏下拉数据窗的检索参数
作者:-    文章来源:-    点击数:    更新时间:2006-4-14

   PowerBuilder是目前流行的数据库前端开发工具之一,特别是它的数据窗口,可以很方便地对数据库进行操作,并且数据窗口对象又以其灵活多样的显示风格深得广大开发者的喜爱。有时候,数据窗口对象中的某些列的取值必须满足一定的条件且来自另一个数据源,这样,我们就要使用下拉数据窗口风格的数据窗口对象,并且在下拉数据窗口中设置检索参数,该下拉数据窗口仅显示满足条件的数据。不幸的是,如果我们直接使用该带参数的下拉数据窗口,在使用Insertrow()、Retrieve()函数操纵数据窗口时,系统会自动检索下拉数据窗口,出现"Specify Retrieval"对话框,怎样才能避免该对话框出现呢?
    为了避免出现"Specify Retrieval" 对话框的出现,我们在操纵主数据窗口之前必须先操纵下拉数据窗口。为了让读者更清楚具体操作过程,我们以一个具体实现为例加以说明。本例子的数据来自于两个表:bj和student。具体步骤如下:
一. 创建窗口w_test。窗口上的控件有:命令按钮:cb_1(插入)、cb_2(关闭),数据窗口控件dw_1,静态文本st_1(年度),单行编辑框sle_1。
二. 创建基于表student的数据窗口对象d_student、基于表bj的数据窗口对象d_bj。其中设置d_bj中的列"nd(年度)"设置检索参数,参数名为nd(string),当检索子数据窗时,下拉数据窗显示满足nd=:nd的数据;而d_student的列class(班级)为下拉数据窗风格,子数据窗为d_bj;这样,当单击 "插入"时,数据窗的"班级"列只显示满足条件"nd=sle_1.text"的班级名称。
三. 在窗口"w_test"中声明事例变量(Instance Variables):DatawindowChild child
四. 在窗口open事件中写入以下脚本程序:
sle_1.text=string(today(),"yyyy")
dw_1.settransobject(sqlca)
五. 在命令按钮cb_1(插入)的"clicked"事件中写入以下脚本程序:
dw_1.getchild("class",child)
child.settransobject(sqlca)
child.retrieve(sle_1.text)
dw_1.settransobject(sqlca)
dw_1.insertrow(0)
所有步骤完成后,运行该窗口。此时,光标停于单行编辑框sle_1内,在该编辑框内输入年度号(如:1998),然后单击命令按钮cb_1(插入),移动光标到新添加行的"班级"列,单击,出现下拉数据窗口(如图二),该子窗口出现的数据就为满足nd="1998"的班级名称。
从上面的实例操作可知,为了在子数据窗口中仅显示满足条件的数据,就必须为子数据窗口设置检索参数。单为了在操纵主数据窗口时出现"Specify Retrival"窗口,只需在操纵主数据窗口之前先对子数据窗口操纵,这样就可以达到我们的要求。

第十期(3月22日): 电脑与生活  出版日期: 19990322   兰州铁道学院106# 胡

[1]

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • PB编程技巧实例

  • 制作中国式报表(二)

  • 制作中国式报表(一)

  • 在PB中巧用下拉数据窗口

  • PowerBuilder中数据窗口使用…

  • DataWindow的数据缓冲区

  • 利用PowerBuilder开发格式生…

  • 用DataWindow实现对多表的修…

  • 不安装Oracle数据库的连接方…

  • 如何恢复SybaseSQLAnywhere的…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |