第二十六讲 深入窗体 进一步了解数据窗口控件(一) 打印本页  
 
  上一讲,我们介绍了Datawindow的Editchanged事件,以及数据窗口控件内的数据窗口的动态变化。知道Datawindow功能是很强大的。接下来这两讲我们将继续介绍Datawindow的其它重要事件。我们要进一步认识Datawindow功能,这样应用PowerBuilder编写面向数据库的应用程序才具有意义。
  好了,下面先让我们看一个简单的例子。
  [插入video_27]
  这一讲继续用到上一讲的Application对象与主界面。
  新建一个Datawindow
  先打开已有的Datawindow:d_customer_online,另存为d_customer_online_first,表示这个数据窗口将要被用于显示按“First Name”字段查询时的结果。
  作一个新的Datawindow――d_customer_online_last,定义一 个String型的参数:ln。
  在Where标签页中添加条件语句:“customer.lname”“like”“:ln”。
  打开w_datawindow主界面
  添加必要的控件,用来实现演示的情况。
  往界面中添加按钮:添加两个GroupBox,分别为gb_3――“查询方式”和gb_4 ――“排序方式”。
  在“查询方式”组合框中添加两个单选框按钮(RadioButton)――“First Name”和“Last Name”。
  把rb_search1设置为默认选项这表示默认的查询方式是按照“First Name”字段进行查询。
  往“排序方式”组合框中添加三个单选框按钮,分别为rb_Sort1,rb_sort2,rb_sort3。将他们的text属性分别设置为“Customer ID”,“First Name”,“Last Name”。将他们的left Text属性不选中。并且把rb_sort1的Checked属性选中,这表示默认的排序方式是按照“Customer ID”字段方式排序。
  如何用单选按钮改变dw_browse控件内的Datawindow的查询方式:
  打开Dw_input控件的Script画板,选择事件Getfocus()对已有程序进行改变如下:
  if rb_search1.checked then
  dw_browse.dataobject="d_customer_online_first"
  else
  dw_browse.dataobject="d_customer_online_last"
  end if
  dw_browse.settransobject(sqlca)
  存盘,运行程序。
  好,我们已经学习了如何进行数据窗口的动态改变,并进一步了解了数据窗口的dataobject属性的作用。
  在下一讲中,我们将继续完成这个程序的编写,学习如何使用键盘来控制数据窗口控件中的数据,并认识几个非常重要的函数。