我是X ++的新手,我想要一个未绑定的 销售标题表单中的选项卡上的复选框 (SalesTable)。当配置行按钮是 按下表格的下半部分进行销售 我需要在其他类中使用代码 检查未绑定控件的开/关状态 SalesTable表单并做一些事情。我真的 不需要数据库来记录状态。
当前状态是我已经打开了复选框 表格,在显示屏上看到它,然后点击它, 但不能参考它。
我如何参考未绑定的内容 从另一个类控制SalesTable表单 这是正确的方法吗?
答案 0 :(得分:0)
你没有从另一个类引用未绑定的控件,这不是正确的方法。
当未绑定的控件发生更改时,通知另一个类。您可以在复选框控件的修改方法中执行此操作:
boolean modified()
{
boolean ret = super();
;
salesTableForm.parmSpecialAction(this.value());
return ret;
}
在这种情况下,SalesTableForm
会通过调用方法parmSpecialAction
(任意选择的名称)来通知复选框的更改。
另一条路线(您在问题中指出)将告知班级控件的存在,并让班级直接调用control.value()
。然而,这通常会使表格和类紧密耦合,这不是我们想要的。控件属于它们诞生的形式,不应该传递。
具有讽刺意味的是,SalesTableForm.enableUpdateJournalButtons
方法违反了此规则,因为它接受按钮控件作为参数。正确的方法是计算(和缓存)getter函数中的enableWathever
值,然后让表单调用getter并启用或禁用它自己的按钮。