我有一个主 - 细节窗口。在详细信息窗口中,当我更改字段并单击主窗口时,焦点会更改,但不会触发详细数据窗口的itemchanged事件。现在,我想在焦点从一个数据窗口更改为另一个数据窗口时触发itemchanged事件。
P.S。:只有当我更改字段并按Tab键,或者如果我更改字段并在同一数据窗口的其他字段内单击时,才会触发itemchanged事件。
答案 0 :(得分:4)
如果用户输入数据但未按Tab键,则焦点不会改变。并且在更改值(并通过验证)之前,itemchanged不会触发。
这里真正发生的事情(如果我正确记得)是PowerBuilder在实际数据窗口上放置一个编辑字段;在PB从编辑控件中取出值之前,数据窗口永远不会看到新值。
你需要捕捉焦点变化(onblur,我认为?)或者如果这还不够精确,那就是keyup消息。
答案 1 :(得分:3)
在详细数据窗口的'LoseFocus'事件中,在详细数据窗口上调用AcceptText()。