我有一个响应窗口,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没有正确发生。
知道为什么会这样吗?
您是否在窗口的任何位置触发dw_1上的AcceptText?此事件专门针对数据窗口控件失去焦点的情况(通过单击示例中的“确定”按钮)。 PB帮助有关于此的更多信息(主题是AcceptText方法)。
你为什么这样.POST setitem()?为什么不只是这个.setitem?记住所有其他当前正在运行的代码,或者有一个Yield()调用,任何POST调用都不会执行。所以听起来就像你立即点击OK,ue_ok调用accepttext然后提示输入正确的数据并调用POST setitem,但由于ue_ok代码已经运行,它必须在POSTed调用运行之前完成。尝试从调用中删除POST一词,或在accepttext之后添加Yield()。