PB绝对有用的未公开函数

已知一个DW中的某列的列名(在字符串变量中),获得这个列对象的DWO的方法是:

 

DWObject ldwo_use,ldwo_name
ldwo_use = dw_1.Object
ldwo_name = ldwo_use.__get_attribute("name",FALSE)

 

这样就可以在用setitem()设置值时,手工调用数窗的itemchanged事件,校验是否接受该值

 

int li_rtn
li_rtn = dw_1.event itemchanged(dw_1.GetROW(),ldwo_name,'arg1')
if li_rtn = 0 then
dw_1.SetItem(dw_1.GetROW(),'name",'arg1')
end if

 

非复合报表中的嵌套报表不可使用getchild取得,也不可使用describe取得属性和使用modify更改属性,
你可以调用PB未载入文档的函数来获取/更改属性,请看示例,注意多层嵌套时使用循环获取最终对象.

例:数据窗口控件dw_test包含嵌套报表dw_1,dw_1有栏位dept_name.


dwobject ldwo_parent,ldwo_obj
string ls_color
ldwo_parent = dw_1.Object
ldwo_obj = ldwo_parent.__get_attribute("dw_1",false)
ldwo_obj = ldwo_obj.Object
ldwo_obj = ldwo_obj.__get_attribute("dept_name",false)
ls_color = ldwo_obj.color//取颜色
ldwo_obj.__set_attribute("color",rgb(192,192,192))//更改颜色

 

这些未公开的函数为:


_get_attribute()、get_attribute_item()、invoke_method()、set_attribute()、_set_attribute_item()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值