我的情况如下:
我们在应用程序中使用PFC。我想要做的是,当我们单击按钮(继承自父按钮对象上的对象编写代码)时,它应该从存在于同一窗口的DataWindow中捕获行计数。
我将窗口、DataWindow和按钮名存储在数据库中。
窗口名- w_emp
DataWindow name - d_emp
按钮名- b_emp
因此,当用户单击按钮时,我将检索这些数据,并检查是否存在相同的窗口、数据窗口和按钮。
如果是,是,,那么,我想在单击按钮的事件上获得DataWindow行计数。。
但是.
我不想用任何硬编码逻辑.
If windowname = 'w_emp' then
w_emp.d_emp.rowcount()
Elseif...
End if...我想要这样的东西,在这里,我可以使用一些代码行来做同样的事情,而无需执行if...else或case语句,在那里我必须检查多个条件。
我能够访问窗口和数据窗口名称在按钮级别。
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行计数。
确保我想在父级执行,当用户单击按钮时,我可以从整个应用程序获得请求。所以我需要同样的动态逻辑。
发布于 2014-07-28 14:43:45
你想要做的是期待父母。对控件进行评估;PowerBuilder不这样做。您可以做的是循环遍历Control[]数组,将每个数组上的ClassName()与字符串进行比较。取决于您想要完成的工作有多彻底,每次单击TypeOf() Tab控件时,您都必须恢复该操作!或者UserObject!(如果您有PFC,则在(pfcapsrv.pbl)pfc_n_cst_luw.of_update ()中有一个很好的控制扫描递归示例)。
祝好运,
特里。
https://stackoverflow.com/questions/24876239
复制相似问题