循序渐进学习Power Builder 6.0(9-3)
9.3.3 动态更新数据窗口
数据窗口中的内容可以根据用户的需要动态的修改。下面,就给您一个例子。我们在窗口上布置一个新的按钮——“更改”。 在新的按钮上面单击鼠标右键,弹出菜单。在菜单上选择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来重新建立相应的连接。
关闭窗口画板的工作区。
单击POWER BAR 上面的运行按钮,运行这个程序。现在数据窗口中的内容是足球明星的名字。如图9-6。
图9-6
下面我们单击“更改”按钮,我们看到窗口中的内容已经更改为网球明星的名字了。如图9-7。
图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。
图9-8
下面我们单击窗口上的查询模式按钮,数据窗口上面的所有数据被清空。下面我们就可以进行检索条件的输入工作了。
在窗口中所列出的表列上面输入您要设置的条件。比方说,在国别一栏当中输入意大利,在年龄一栏当中输入<25,同一行的检索条件是逻辑“与”的关系,这就表示要求检索数据库中含有的所有年龄小于25岁的意大利球星的名字。我们还可以输入更多的检索条件,比方说,在国别一栏中输入英国,在俱乐部一栏中输入“曼联”,不同的行的检索条件之间是逻辑“或”的关系,所以,前面输入的查询条件的意思就是查询数据库中小于25岁的意大利球星以及曼彻斯特联队的英国球星的资料。
按下“开始查询”按钮,我们看到数据窗口中的内容已经得到了更新。