【问题标题】:Something like setVisible() for Dynamics AX 2012类似动态 AX 2012 的 setVisible()
【发布时间】:2013-10-16 13:43:06
【问题描述】:

有什么办法吗?

我的意思是,如果表单填充特定条件setVisible true 或false 到表单中的一个控件?或者如果我选中一个 CheckBox,显示一些特定的 ComboBox?

提前感谢您的帮助

【问题讨论】:

  • 当然,你可以通过代码做到这一点,为什么不呢。

标签: axapta dynamics-ax-2012 aot dynamics-ax-2012-r2


【解决方案1】:

我建议启用和禁用字段,而不是隐藏它们。

打开供应商,然后在发票和交货快速选项卡上选择计算预扣税复选框。这是 VendTable 表单。 计算预扣税控件将根据所选值启用和禁用第二个控件。

第二个控件的属性 AutoDeclaration 设置为 Yes,触发更改的事件可以在表单 VendTable 数据中找到来源。找到相关字段(VendTable > Data Sources > Vend Table > Fields > TaxWithholdCalculate)并注意 modified 方法已被覆盖,更改了控件的 enabled 属性。如果您想将其从视图中移除,它还有一个 visible 属性。

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

【讨论】:

  • “我建议启用和禁用字段,而不是隐藏它们。”完全同意这一点。主要原因是当您动态隐藏/显示控件时,由于 Morphx 处理组中字段的布局,您的表单将移动控件。
  • @KennySaelen 所以你是说 MorphX 不能很好地处理它?
  • “我建议启用和禁用字段,而不是隐藏它们。”我会说,在我见过的 99% 的情况下,隐藏 UI 字段是有充分理由的。
【解决方案2】:

我建议您解决第二个问题:

如果我选中一个 CheckBox,显示一些特定的 ComboBox?

我假设您的表单是完整的(它具有所需的所有控件:组合框、复选框等)。并且控件 AutoDeclaration-property 设置为“是”。

  1. 在 AOT 中展开 Form 直到找到 CheckBox,然后展开它
  2. 右键单击其方法并选择“覆盖方法”>>“已单击”
  3. 最后您可以添加此代码并保存/编译表单: myComboBox.visible(true);

应该是这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多