2013-10-16 109 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); 
}