访问数据窗口中的数据可以通过两种方式,一是数据窗口的函数,一是通过表达式。

下面先熟悉一下数据窗口常用的函数。

函数名称    
     
GetItemDate 语法 dw.getitemdate(row,column,[dwbuffer,originalvalue])
  功能 获取数据窗口控件对象指定缓冲区中的date型数据
  参数说明 dw 数据窗口控件的名称
    row long类型,为行的位置
    column long类型,为列的位置
    dwbuffer 取值为primary! delete! filter! 为指定的数据缓冲区
    originalvalue boolean类型,true为取原始值(默认)
getitemstatus 语法 dw.getitemstatus(row,column,dwbuffer)
  功能 报告某行或一行内某列的修改状态
  参数说明 dw 数据窗口控件的名称
    row long类型,为行的位置
    column long类型,为列的位置
    dwbuffer 取值为primary! delete! filter! 为指定的数据缓冲区
  返回值 new! newmodified! notmodified! datamodified!
     
currentrow 语法 dw.currentrow()
  功能 得到数据窗口控件当前行的行号
     
deleterow 语法 dw.deleterow()
  功能 删除主缓冲区中的指定行
     
describe 语法 dw.describe(properltlist)
  功能 得到数据窗口对象中当前对象内部的对象属性值
  返回值 string类型
     
find 语法 dw.find(expression,start,end)
  功能 在数据窗口对象的缓冲区中按照简单的查询要求查询数据
  返回值 行号
     
getrow 语法 dw.getrow()
  功能 主数据缓冲区中当前行的行号
  返回值 long类型,0表示没有选中当前行,-1表示失败
     
getclickedrow 语法 dw.getclickedrow()
  功能 数据窗口控件中用户单击或双击的行的行号
  返回值 long类型,如果用户没有单击某行,返回值为0
     
getcolumn 语法 dw.getcolumn()
  功能 获取数据窗口控件中当前列的列号
  返回值 integer类型,没有当前列则返回0,出错返回-1
     
insertrow 语法 dw.insertrow(row)
  功能 在数据窗口中插入一行。有缺省值的列则用其缺省值填充
  返回值 成功时返回新增的行号,出错返回-1
     
isselect 语法 dw.isselected(row)
  功能 确定数据窗口中某行是否被选中
  返回值 boolean类型,选中则返回true,否则返回false,参数row无效时返回false
     
pagecount 语法 dw.pagecount()
  功能 返回数据窗口控件中文档中的总页数
  返回值 integer类型,若不包含文本则返回1,出错则返回-1
     
reset 语法 dw.reset()
  功能 清除控件中的所有数据(不影响与之相关的数据表)
  返回值 integer类型,成功则返回1,失败返回值为-1
     
setrow 语法 dw.setrow(row)
  功能 将当前行设置为某个给定的行号
  返回值 integer类型,成功返回1,失败返回-1,参数row无效则返回-1
     
scrolltorow 语法 dw.scrolltorow(row)
  功能 改变当前行,但不改变当前列
  返回值 integer类型,成功返回1,失败返回-1
     
setitem 语法 dw.setitem(row,column,value)
  功能 把数据窗口控件中的某行某列设置为指定值
  返回值 integer类型,成功返回1,失败返回-1
     
sort 语法 dw.sort()
  功能 用当前排序准则对数据窗口排序。(用setsort函数设置排序准则)
  返回值 integer类型,成功返回1,失败返回-1
     
filter 语法 dw.filter()
  功能 显示数据窗口中通过当前过滤准则的行。(用setfilter设置过滤准则)
  返回值 integer类型,成功返回1,失败返回-1
     

下面通过一个示例掌握其中部分函数的用法:

在w_maintain窗口中加入新的标签页,按下图增加控件,其中数据窗口是uo_dw控件,其datawindow属性为dw_emp(您可新建一个grid风格的数据窗口)。

为该控件的getfocus losefocus事件分别加入脚本:dw_cur=this 和setnull(dw_cur)

修改该数据窗口控件,加入一文本标签cr,将其expression属性设置为"currentrow()"。

在foot区加入一个计算列expression属性为"pagecount()"。

设置salary列的颜色设置表达式属性为"if(salary>2000,rgb(255,0,0),rgb(0,255,0))"

为数据窗口的rowfocuschanged事件添加如下代码:

在窗口的open事件中为该数据窗口设置事务对象并检索数据。

为“修改状态”按钮添加如下代码以查看数据的当前状态。

为重置窗口后重新检索数据添加如下代码:

为重置数据窗口加入如下代码:

保存所做的修改并运行程序。

返回

数据空间