PowerBuilder动态数据窗口在线教程

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 22:45:04
9.3 动态数据窗口

9.3.1 简介

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

9.3.2 动态创建数据窗口

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

点击放大
图9-1

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

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


图9-2

我们可以看到DATA WINDOWS OBJECT NAME 一项的内容为空,这说明DW_1这个数据窗口控件的所连接的数据窗口对象为空。关掉这个对话框。


图9-3

单击POWER BAR 上面的运行画板按钮,运行这个程序,我们看到该数据窗口上面并没有任何的显示(图9-3)。

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

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

STRING SYNTAX,SQLSTR,ERRMSG

SQLSTR = "SELECT SOCCER.NAME,SOCCER.AGE,SOCCER.CLUB,SOCCER.NATION"&

+" FROM SOCCER"

CONNECT USING SQLCA;

SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG)

dw_1.CREATE(SYNTAX, ERRMSG)

这段程序的意思是把SPSTAR 这个表中的关于足球明星的内容显示在DW_1 这个数据窗口控件上面。关闭窗口画板工作区。


图9-4

单击POWER BAR上的运行按钮,执行这个程序。我们看到数据窗口中显示了我们需要的信息(图9-4)。

数据窗口中的内容可以根据用户的需要动态的修改。下面,就给您一个例子。我们在窗口上布置一个新的按钮——“更改”。 在新的按钮上面单击鼠标右键,弹出菜单。在菜单上选择PROPERTIES 命令,弹出这个按钮的属性定义对话框。将按钮上面的文本设置为“更改”,单击OK按钮,确认修改。如图8-5。

点击放大
图9-5

在按钮上面再次单击鼠标右键,弹出菜单,在菜单上面选择SCRIPT命令,开始为这个按钮的CLICKED单击事件编写脚本。我们输入这样一段脚本。

STRING SYNTAX,SQLSTR,ERRMSG

SQLSTR = "SELECT TENNIS.NAME,TENNIS.AGE,TENNIS.CLUB,TENNIS.NATION"&

+" FROM TENNIS"

CONNECT USING SQLCA;

SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG)

dw_1.CREATE(SYNTAX, ERRMSG)

dw_1.SetTransObject(SQLCA)

dw_1.RETRIEVE()

这段脚本的意思是将DW_1这个数据窗口的显示内容从足球明星更改为网球明星。请注意最后的这两行脚本。当我们创建新的数据窗口对象的时候,已经断开了数据窗口控件与事物对象的连接,所以当我们调用CREATE函数之后,还要再次调用SETTRANSOBJECT来重新建立相应的连接。

关闭窗口画板的工作区。


图9-6

单击POWER BAR 上面的运行按钮,运行这个程序。现在数据窗口中的内容是足球明星的名字。如图9-6。


图9-7

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


Tags:

作者:佚名
分享到: 微信 更多