pb从数据窗口获得数据的方法总结(转自颜建荣ID:jeron1999)

本文总结了使用PowerBuilder的数据窗口对象属性从数据窗口中获取数据的各种方法,包括直接通过列名、列号获取特定行或范围的值,处理选中项,以及从Crosstab数据窗口中获取点击域名和域值。详细介绍了不同缓冲区(Primary、Filter、Delete)和数据源(Current、Original)的用法。
摘要由CSDN通过智能技术生成

pb从数据窗口获得数据的方法总结
 

pb从数据窗口获得数据的方法总结
通过PowerBuilder的数据窗口对象属性,我们可以指定一定格式的表达式来直接从数据窗口中获得数据。这种直接的数据操作方法让我们能只需一条语句而不用调用许多方法,就可得到一定量甚至大量的数据。操作数据的表达式大致可分为三种,下面逐一介绍。
---------------------------------------------------------------------
1)在知道列或计算域名时得到数据得到某列中一行或全部的值,
表达式:(如果rownum忽略,则可得到缓冲区或数据源的值)
dwcontrol.Object.columnname {.buffer } {.datasource } { [ rownum ] }
其中datasource 参数表示数据源,它有两个可选项,Current(缺省)和Original,由此参数我们可以指定数据是从当前数据窗口上还是从数据库中得到。对于计算域,它不能被改变也没有当前值,所以我们必须指定为此参数为Original。
示例:
因为缺省设置是在Primary缓冲区的当前值,下面语句是等价的,都是从第一行得到emp_name列的值
dw_1.Object.emp_name[1]
dw_1.Object.emp_name.Primary.Current[1]
下面语句设置emp_name列的第一行值为“国防科技大学先进制造中心”
dw_1.Object.emp_name[1] = "国防科技大学先进制造中心"
下面语句得到所有emp_name列的值,并将它们放入数组中
string ls_namearray[]
ls_namearray = dw_1.Object.emp_name.Current
下面语句得到emp_name列在filter缓冲区的所有当前值
string ls_namearray[]
ls_namearray = dw_1.Object.emp_name.Filter
下面语句得到emp_name在filter缓冲区的初始值(数据库中的值)
string ls_namearray[]
ls_namearray = dw_1.Object.emp_name.Filter.Original
下面语句得到emp_name列在delete缓冲区的第14行的当前值
string ls_name
ls_name = dw_1.Object.emp_name.Delete[14]This statement gets the original
下面语句得到emp_name列在delete缓冲区的第14行的初始值(数据库中的值)
string ls_name
ls_name = dw_1.Object.emp_name.Delete.Original[14]
下面语句得到review_date计算域的所有值
string ld_review[]
ld_review = dw_1.Object.review_date.Original
得到被选择项的值
表达式:dwcontrol.Object.columnname {.Primary }{.datasource }.Selected
示例:
由于Primary缓冲区是程序本选择项所在的唯一缓冲区并且当前数据是缺省的,下面的语句作用是等价的,它们实现从emp_name列中得到被选中行的值。
dw_1.Object.emp_name.Selected
dw_1.Object.emp_name.Primary.Selected
dw_1.Object.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值