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_namefilter缓冲区的初始值(数据库中的值)

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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值