我有一个数据窗口,用户可以编辑数据,然后点击“保存”按钮。我已经在数据窗口上编写了ItemChanged
事件,以将旧值和新值存储在实例变量中,以便将它们保存在数据库中以供参考。如果用户在DW中编辑了一个字段并且没有标出,ItemChanged
不会被调用。所以如果他们输入数据并立即点击'保存',实例变量就不会被填充。PowerBuilder的AcceptText没有要求ItemChanged
我打电话给AcceptText
作为'保存'按钮中的第一件事,该按钮应该可以获得DW中输入的所有数据,并且可以调用ItemChanged
(根据PB的帮助)。但事实并非如此。奇怪的是,它似乎正在通过“保存”按钮中的所有代码,然后通过ItemChanged
事件中的代码。
另一个奇怪的是,如果我调试它,并在ItemChanged
事件中放置断点,当我点击'保存'时,它将通过ItemChanged
代码,但它不会执行'保存'按钮代码。我必须再次单击“保存”。这只是当我调试和只有当我有一个断点 - 当我正常运行应用程序或调试没有断点,它调用后保存按钮ItemChanged
。
我从来没有见过这样的事情,所以我会很感激你能提供任何意见。谢谢!
accepttext失败了吗?良好的返回码?如果选中,Itemchanged将触发,但接受文本可能由于某种原因失败。也许尝试尝试editchanged,它会输入每个字符。也许有人把编辑中的代码改变为与缓冲区混淆......不太可能,但永远不知道。 –