阻止 FormRun 任务以 DetailsTransaction 模式执行
Block FormRun task from executing in DetailsTransaction pattern
我正在构建一个基于表单模式 DetailsTransaction 的简单日记账表单。在此模式中,它具有标准的两个视图布局,header/*journalTable 网格和 lines/*journalTrans 网格。
但是,当我单击“新建”按钮两次创建新的 header/journal 时,它会自动调用 taskSwitchToDetailsView 任务并切换到行。我希望阻止这种情况发生,但我不确定该怎么做。有没有办法阻止此任务被调用?
您是否尝试过 viewEditModeHelper()
和其他表单事件处理程序?
我现在面前没有环境,但这里有一个小片段可能会让你知道在哪里看。我知道这不是你要找的,但我想的是同样的风格。
[FormEventHandler(formStr(LogisticsPostalAddress), FormEventType::Initialized)]
public static void MyForm_OnInitialized(xFormRun sender, FormEventArgs e)
{
// Subscribe event handlers
FormRun formRun = sender as FormRun;
formRun.viewEditModeHelper().EditModeSwitched += eventhandler(MyEventHandler.ViewEditModeSwitched);
}
OOTB 期刊有很多复杂性,如果我需要一个强大的期刊实现,我会创建派生自 JournalFormController 的 类 和提供编号序列生成的 JournalFormTable/JournalFormTrans,blocking/locking、验证,以及更多非常有用和强大的功能,用于日记帐形式 + table 结构。
但是,我不需要这些。因此,为了解决我的具体问题,我将此添加到 *journalTable 数据源的创建方法的创建方法中(超级调用通过调用任务(#taskSwitchToDetailsView)将表单的上下文更改为行)。为了解决这个问题,我只需调用任务(#taskSwitchToGridView)紧接在super.
之后
[DataSource]
class CustomJournalTable
{
public void create(boolean _append = false)
{
#Task
super(_append);
element.task(#taskSwitchToGridView);
}
}
我正在构建一个基于表单模式 DetailsTransaction 的简单日记账表单。在此模式中,它具有标准的两个视图布局,header/*journalTable 网格和 lines/*journalTrans 网格。
但是,当我单击“新建”按钮两次创建新的 header/journal 时,它会自动调用 taskSwitchToDetailsView 任务并切换到行。我希望阻止这种情况发生,但我不确定该怎么做。有没有办法阻止此任务被调用?
您是否尝试过 viewEditModeHelper()
和其他表单事件处理程序?
我现在面前没有环境,但这里有一个小片段可能会让你知道在哪里看。我知道这不是你要找的,但我想的是同样的风格。
[FormEventHandler(formStr(LogisticsPostalAddress), FormEventType::Initialized)]
public static void MyForm_OnInitialized(xFormRun sender, FormEventArgs e)
{
// Subscribe event handlers
FormRun formRun = sender as FormRun;
formRun.viewEditModeHelper().EditModeSwitched += eventhandler(MyEventHandler.ViewEditModeSwitched);
}
OOTB 期刊有很多复杂性,如果我需要一个强大的期刊实现,我会创建派生自 JournalFormController 的 类 和提供编号序列生成的 JournalFormTable/JournalFormTrans,blocking/locking、验证,以及更多非常有用和强大的功能,用于日记帐形式 + table 结构。
但是,我不需要这些。因此,为了解决我的具体问题,我将此添加到 *journalTable 数据源的创建方法的创建方法中(超级调用通过调用任务(#taskSwitchToDetailsView)将表单的上下文更改为行)。为了解决这个问题,我只需调用任务(#taskSwitchToGridView)紧接在super.
之后[DataSource]
class CustomJournalTable
{
public void create(boolean _append = false)
{
#Task
super(_append);
element.task(#taskSwitchToGridView);
}
}