2013-10-16 106 views
2

有什么办法可以做到这一点?Dynamics AX 2012的setVisible()有点像

我的意思是,如果表单满足特定的条件setVisible真或假的形式控制?或者,如果我检查一个复选框,显示一些特定的复合框?

在此先感谢您的帮助

+0

苏re,你可以通过代码来做到这一点。 – SamekaTV

回答

3

我会建议启用和禁用领域,而不是隐藏它们。

打开一个供应商,并在发票和交付快速选项卡中选择选择计算预提所得税复选框。这是VendTable的形式。 计算预扣税控制将根据所选值启用和禁用第二个控件。

VendTable.TaxWitholdCalculate

第二控制有它的特性AutoDeclaration设置为,并触发该变化的情况下可以在形式VendTable数据源中找到。找到相关领域(VendTable>数据源>鬻表>字段> TaxWithholdCalculate),并注意到修改方法已被重写,改变控制的启用财产。它也有一个可见属性,如果你想从视图中删除它。

VendTable.TaxWitholdCalculate2

顶部提示:在你不知道的情况下,你可以右键单击窗体上的任何控件,然后从上下文菜单中个性化选项。从那里有一个表格,其中包含一个非常有用的名为系统名称的框。您可以从中找到控制/表格字段的名称。

VendTable.TaxWitholdCalculate3

+0

“我会建议启用和禁用字段,而不是隐藏它们。” 完全同意这一点。主要原因是,当你动态地隐藏/显示控件时,由于Morphx处理组中的字段布局,你的表单将会移动控件。 –

+0

@KennySaelen所以你说MorphX不能很好地处理它? – SamekaTV

+0

“我会建议启用和禁用字段,而不是隐藏它们。”我认为在99%的情况下,我看到隐藏UI字段的原因非常充分。 – AnthonyBlake

0

我建议你为你的第二个问题,这个解决方案:

如果我选中一个复选框,显示出一些特定的组合框?

我假设你的表单是完整的(它具有所有需要的控件:组合框,复选框等)。与对照组AutoDeclaration属性设置为“是”。

  1. 在AOT扩大表格,直到你找到复选框,将其展开以及
  2. 右键单击它的方法,然后选择“替换法” >>“点击”
  3. 最后,您可以添加以下代码并保存/编译形式: myComboBox.visible(true);

它应该看起来像:

public void clicked() 
{ 
    super(); 
    myComboBox.visible(true); 
}