如何使用对话框确认从表单插入记录?

How to insert a record from a Form with Dialog confirm?

我在MyTableNewRecord.

中插入一个Form记录

在我的 insert Table 方法中,我插入了这段代码:

dialog     dialog;
DialogText dialogText ;
DialogButton dialogButton;
DialogField dialogField;

dialog = new Dialog("Dialog user");
dialogText =
dialog.addText("Text dialog.");
dialogText = dialog.addText("Click OK to continue");

dialog.run();
super();

为了插入,我使用了表格。 在 MyForm 中,我使用 SysListPanelRelationTableCallback 来插入数据。 我创建的这个 SysListPanel 看起来像:

sysListPanel = SysListPanelRelationTableCallback::newForm(element,
                     element.controlId(formControlStr(SysUserGroupInfo, Users)),
                     "@SYS25440", "@SYS57282", #ImageUser,
                     tablenum(MyTableRecord),
                     fieldnum(MyTableNewRecord, UserId),
                     fieldnum(MyTableNewRecord, AdministratorUse),
                     tablenum(TableFromRecords),
                     fieldnum(TableFromRecords, Id),
                     [fieldnum(TableFromRecords, Id),
                     fieldnum(TableFromRecords, Name)]
                     , 0, '' ,
                     "","");

当我将用户从正确的站点转移到最小站点(并添加到 MyTableNewRecords 中)时, DialogBox 运行,但是,当我点击 OK(dialogBox DefaultButton)时,我给出了一个错误,看起来像:

"Few or too ttsbegin/ttscommit . Current level TTS is 1"

只点Escape(X)就可以插入一条记录

如何在对话框后插入记录?

我尝试插入 ttsbegin; ttscommti;也许我把它们放错了,因为它给了我同样的错误。

我必须使用另一种覆盖方法,但我尝试使用 validateWritre,甚至没有打开 Dialog(在 Debug 中测试并且不通过该方法)。

或者,可以在使用 ListPanel 添加记录之前插入确认吗? 在我必须在 Table (MyTableNewRecord).

中添加一条记录之后,我需要确认和确认

感谢您的宝贵时间,

尽情享受吧!

您不应编写允许在事务期间进行用户交互(即对话框)的代码

https://msdn.microsoft.com/en-us/library/aa609617.aspx