如何在数据窗口中查找按钮

时间:2016-12-23 08:13:47

标签: powerbuilder

假设有一个包含一些列和一些按钮的Datawindow。如何获得dw中所有按钮的数组(或更好的所有控件)?对于列我可以做

之类的事情
ll_cnt = Long(this.dw_1.object.datawindow.column.count)

for i = 1 to ll_cnt
    lsa_colname[upperbound(lsa_colname)+1]  = this.dw_1.Describe( "#" + String(i) + ".Name" )
    lsa_coltype[upperbound(lsa_coltype)+1]      =  this.dw_1.Describe( "#" + String(i) + ".ColType" )
    lsa_edittype[upperbound(lsa_edittype)+1]    =  this.dw_1.Describe( "#" + String(i) + ".Edit.Style" )
NEXT

其他控件是否有类似的方式?

我正在使用PB12.6

非常感谢。

1 个答案:

答案 0 :(得分:1)

获取数据窗口中的所有对象使用此

<DW Control Name>.Object.DataWindow.Objects

<DW Control Name>.Describe("DataWindow.Objects")

都返回所有对象的TAB分隔列表。 例如。 emp_name~temp_street~tlabel_emp_name~tlabel_emp_street

从那里开始,您可以从返回的字符串中提取所有对象的名称。要获取对象的类型,请使用

<DW Control Name>.Describe("<objectname>.Type")

例如

dw_1.Describe("emp_name.Type")
如果你在编码过程中不知道对象名,那么点符号在这里不起作用。

对于PB8及更高版本(可能是PB7,但我只知道PB8及以上版本),您可以在IDE中单击“新建”,然后从打开的窗口中选择工具,而不是数据窗口语法。然后,您将获得所有可能的dw属性,其语法为描述/修改和点符号