Powerbuilder 通过单击另一个数据窗口中的记录打开窗口

Powerbuilder 通过单击另一个数据窗口中的记录打开窗口,powerbuilder,datawindow,Powerbuilder,Datawindow,我有一个数据窗口,它使用select获取记录 我想做的是能够单击任何记录并打开一个新窗口/数据窗口,以显示有关所选/单击记录的更多信息 我对PB8还不太熟悉,目前正在为之奋斗 你能给我指引正确的方向吗?我会非常感激的 干杯。您想查看或,并从单击事件中调用其中一个,我建议双击,但这是您在窗口上设计的DataWindow控件 您可能还需要查看,它位于磁盘上,也可以在线访问 祝你好运 特里。听起来你对PB还很陌生,所以我会给你一个非常简单的示例,让你开始学习。可能会考虑双击特里建议,但点击也会起作用。

我有一个数据窗口,它使用select获取记录

我想做的是能够单击任何记录并打开一个新窗口/数据窗口,以显示有关所选/单击记录的更多信息

我对PB8还不太熟悉,目前正在为之奋斗

你能给我指引正确的方向吗?我会非常感激的

干杯。

您想查看或,并从单击事件中调用其中一个,我建议双击,但这是您在窗口上设计的DataWindow控件

您可能还需要查看,它位于磁盘上,也可以在线访问

祝你好运


特里。

听起来你对PB还很陌生,所以我会给你一个非常简单的示例,让你开始学习。可能会考虑双击特里建议,但点击也会起作用。

假设:

您的datawindow控件名为dw_customer_list 您的列值键名为customer\u id,是数字 要打开的窗口名为w_customer_detail 您传递的值是一个数字,否则请使用StringParm或PowerObjectParm 如果您使用MDI表,那么考虑OpenSeTeWHEVER PARM,而不是OpenHEVENPARM 在dw_customer_列表的单击事件中,添加代码以获取要在打开的窗口上显示的任何内容的键值。如果使用字符串,则使用getitemstring而不是getitemnumber

double ld_custid

if IsNull(row) then return 0

if row > 0 and row <= RowCount() then
   ld_custid= this.GetItemNumber(row, 'customer_id')
   OpenWithParm(w_customer, ld_custid)
end if
double ld_custid

// grab the passed number parameter
if not IsNull(message.DoubleParm) then
   ld_custid= message.DoubleParm
   messagebox('Customer ID parameter:', string(ld_custid))
else
   // no parmameter!
   messagebox('Customer ID parameter:', 'was not passed to window')
end if