父按钮上的动态DataWindow行数

时间:2014-07-21 22:59:54

标签: powerbuilder

我的情况如下:

我们在我们的应用程序中使用PFC。 当我们点击按钮(继承自对象 - 在父按钮对象上编写代码)时,我想做什么呢? 它应该从DataWindow中捕获行数,该数据存在于同一个窗口中。

我在数据库中存储窗口,DataWindow和按钮名称

窗口名称 - w_emp

DataWindow名称 - d_emp

按钮名称 - b_emp

因此,当用户点击按钮时,我正在检索这些数据,并检查是否存在我正在寻找的相同窗口,数据窗口和按钮。

如果是那么我想在点击按钮的事件中获取DataWindow的行数。

但......

我不想使用任何硬编码逻辑......

If windowname = 'w_emp' then     
w_emp.d_emp.rowcount() 
Elseif...
End if...

我想要一些类似的东西,我可以用一些代码做同样的事情而不用做     如果别的     要么     案例陈述 我必须检查多个条件。

我可以在按钮级别访问窗口和数据窗口名称。


string      ls_window 
string      ls_datawindow 

datawindow      ld_test 

select window_name, datawindow_name into ls_window, ls_datawindow from table_name where button_name = 'b_emp'; 

ld_test.dataobject = parent.ls_datawindow // It is giving an error 

我想获取来自数据库的DataWindow行计数。

确保我想在父级别进行操作,只要用户点击按钮,我就可以从整个应用程序获取请求。所以我需要动态逻辑。

1 个答案:

答案 0 :(得分:0)

你要做的是期待父母。评估控制; PowerBuilder不这样做。你可以做的是在Control []数组中循环,将每个ClassName()与你的字符串进行比较。根据你想要做的工作的彻底程度,每次你点击一个TypeOf()选项卡的控件时你都必须递归!或UserObject!。 (如果你有PFC,你在(pfcapsrv.pbl)pfc_n_cst_luw.of_update())中有一个控制扫描递归的好例子。

祝你好运,

特里。