首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X++未绑定控件

X++未绑定控件
EN

Stack Overflow用户
提问于 2011-06-22 22:24:29
回答 1查看 2.1K关注 0票数 0

我是X++新手,我想在sales header表单(SalesTable)的选项卡上添加一个未绑定的复选框。当销售行的表单的下半部分按下配置行按钮时,我需要让其他类中的代码检查SalesTable表单中未绑定控件的开/关状态,并执行一些操作。我真的不需要数据库来记录状态。

当前状态是我已经在表单上放置了复选框,可以在显示屏上看到它,可以点击它,但不能引用它。

如何从另一个类引用SalesTable窗体中的未绑定控件,这是正确的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-23 05:46:17

您不能从另一个类引用未绑定的控件,这不是正确的方法。

而是在未绑定的控件发生更改时通知其他类。您可以在checkbox控件的modified方法中执行此操作:

代码语言:javascript
复制
boolean modified()
{
    boolean ret = super();
    ;
    salesTableForm.parmSpecialAction(this.value());
    return ret;
}

在这种情况下,通过调用方法parmSpecialAction (任意选择的名称)来通知SalesTableForm复选框的更改。

另一种方法(您在问题中指出的)是通知类控件的存在,并让类直接调用control.value()。然而,这通常会使窗体和类紧密耦合,这不是我们想要的。这些控件属于它们的出生地,不应该到处传递。

具有讽刺意味的是,SalesTableForm.enableUpdateJournalButtons方法违反了这一规则,因为它接受按钮控件作为参数。正确的方法是计算(和缓存) getter函数中的enableWathever值,然后让表单调用getter并启用或禁用自己的按钮。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6441516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档