POST setitem不在datawindow中设置值

问题描述 投票:1回答:2

我有一个响应窗口,w_response。在里面,我有数据窗口dw_1,我要在其中验证输入的数据。有一个列c_1

当用户在c_1和选项卡中输入错误数据时,将打开一个搜索窗口,其中一个OK按钮将会打开一个搜索窗口,一旦用户点击OK,用户的选择就会在c_1中设置。当我们选中时,这种情况会正常发生(使用POST setitem)。

相反,用户在c_1中编辑值(这是不正确的数据)并立即在w_response中单击“确定”。

这会触发搜索窗口w_2,虽然用户选择了正确的值并单击了OK,但在c_1(由用户键入)中设置了错误的值。似乎POST setitem没有正确发生。

知道为什么会这样吗?

powerbuilder
2个回答
1
投票

您是否在窗口的任何位置触发dw_1上的AcceptText?此事件专门针对数据窗口控件失去焦点的情况(通过单击示例中的“确定”按钮)。 PB帮助有关于此的更多信息(主题是AcceptText方法)。


0
投票

你为什么这样.POST setitem()?为什么不只是这个.setitem?记住所有其他当前正在运行的代码,或者有一个Yield()调用,任何POST调用都不会执行。所以听起来就像你立即点击OK,ue_ok调用accepttext然后提示输入正确的数据并调用POST setitem,但由于ue_ok代码已经运行,它必须在POSTed调用运行之前完成。尝试从调用中删除POST一词,或在accepttext之后添加Yield()。

© www.soinside.com 2019 - 2024. All rights reserved.