敬业的IT人 >> 编程开发 >> PowerBuilder >> 循序渐进学习Power Builder 6.0(9-3)

循序渐进学习Power Builder 6.0(9-3)

敬业的IT人 互联网 佚名 2008-1-4 12:04:55
 

9.3 动态数据窗口

9.3.1 简介

从前面的内容当中,我们知道一个窗口上的数据窗口控件,必须和一个真正的数据窗口对象配合起来才能进行工作。数据窗口对象和数据窗口对象所包含的所有的实体(如文本、图形)都有自己的属性。在程序运行的时候,我们可以通过获取、修改这些属性的方法来对数据窗口对象及其所属实体进行动态的控制,甚至能够动态地建立一个新的数据窗口对象。下面,我们就来介绍动态的操纵数据窗口对象的方法。

9.3.2 动态创建数据窗口

创建数据窗口有两种方法。一种是在POWER BUILDER 的数据画板中建立,另一种就是在程序运行的过程中通过执行一段脚本来动态地建立数据窗口。下面我们来介绍这种动态创建的方法。

首先打开一个窗口画板。我们看到该窗口上面有一个数据窗口控件(图9-1)。

循序渐进学习Power Builder 6.0(9-3)(图一)

图9-1

在该数据窗口上面单击鼠标右键,弹出菜单,选择PROPERTIES 属性命令。弹出这个数据窗口控件的属性对话框(图9-2)。

循序渐进学习Power Builder 6.0(9-3)(图二) 

图9-2

我们可以看到DATA WINDOWSOBJECT NAME 一项的内容为空,这说明DW_1这个数据窗口控件的所连接的数据窗口对象为空。关掉这个对话框。单击POWER BAR 上面的运行画板按钮,运行这个程序,我们看到该数据窗口上面并没有任何的显示(图9-3)。

关闭这个程序,回到POWER BUILDER 的窗口工作区。

在窗口上面单击鼠标右键,弹出菜单。在菜单上选择SCRIPT命令,为该窗口的打开事件编写程序。输入这样一段脚本:

STRING SYNTAX,SQLSTR,ERRMSG

SQLSTR = "SELECT SOCCER.NAME,SOCCER.AGE,SOCCER.CLUB,SOCCER.NATIborder="0" alt="循序渐进学习Power Builder 6.0(9-3)(图三)" />

图9-4

    ·Platform Builder实践之编译
    ·用Builder C++设计串行口COM1或COM2的
    ·用C# Builder制作不规则窗体
    ·用Powerbuilder进行分布式应用开发三级
    ·循序渐进学习Power Builder 
    ·循序渐进学习Power Builder 6.0(1-1)
    ·C# Builder WinForm开发入门
    ·循序渐进学习Power Builder 6.0(1-2)
    ·循序渐进学习Power Builder 
    ·循序渐进学习Power Builder 

图9-6

下面我们单击“更改”按钮,我们看到窗口中的内容已经更改为网球明星的名字了。如图9-7。

循序渐进学习Power Builder 6.0(9-3)(图六)

图9-7

9.3.4 提供查询模式

在很多时候用户都希望能够自己设置检索条件来进行数据库的查询工作,所以为用户提供模式查询功能是一个常见而重要的工作。下面我们就介绍如何实现这个功能。我们打开一个预先定制好的窗口。如图5。在“查询模式”按钮上面单击鼠标右键,弹出菜单,选择SCRIPT 命令,为这一按钮的单击事件编写程序。输入下面这段脚本:

dw_1.Modify("datawindow.querymode = yes")

这行脚本的意思是将数据窗口的查询模式设置为允许。关闭这个窗口。

在“开始查询” 按钮上面单击鼠标右键,弹出菜单,选择SCRIPT 命令,为这一按钮的单击事件编写程序。输入下面这段脚本:

dw_1.Retrieve()

dw_1.Modify("datawindow.querymode = no")

这行脚本的意思是命令数据窗口按照用户输入的检索条件进行查询。并且关闭查询模式。关闭这个窗口。

关闭窗口画板工作区,然后单击POWER BAR 上面的运行按钮,运行这个程序。

我们看到数据窗口上面显示了数据库中存储的所有足球明星的资料。如图9-8。

循序渐进学习Power Builder 6.0(9-3)(图七)

图9-8

下面我们单击窗口上的查询模式按钮,数据窗口上面的所有数据被清空。下面我们就可以进行检索条件的输入工作了。

在窗口中所列出的表列上面输入您要设置的条件。比方说,在国别一栏当中输入意大利,在年龄一栏当中输入<25,同一行的检索条件是逻辑“与”的关系,这就表示要求检索数据库中含有的所有年龄小于25岁的意大利球星的名字。我们还可以输入更多的检索条件,比方说,在国别一栏中输入英国,在俱乐部一栏中输入“曼联”,不同的行的检索条件之间是逻辑“或”的关系,所以,前面输入的查询条件的意思就是查询数据库中小于25岁的意大利球星以及曼彻斯特联队的英国球星的资料。

按下“开始查询”按钮,我们看到数据窗口中的内容已经得到了更新。

进入讨论组讨论。
粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com