Miklix

透過 Dynamics 365 中的擴充功能新增顯示或編輯方法

已發佈: 2025年2月16日 上午11:56:14 [UTC]

在本文中,我解釋如何使用類別擴充功能為 Dynamics 365 for Operations 中的表格和表單新增顯示方法,包括 X++ 程式碼範例。


該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:

Add Display or Edit Method via Extension in Dynamics 365

雖然計劃在 Dynamics 中使用顯示或編輯方法通常會讓您考慮是否可以以不同的方式設計解決方案,但有時它們是最好的方法。

在先前版本的 Dynamics 和 Axapta 中,在表格和表單上建立顯示或編輯方法非常容易,但是當我最近碰巧必須在 Dynamics 365 中建立我的第一個編輯方法時,我發現這樣做的過程有些不同。

顯然有幾種有效的方法,但我發現最好的方法(就直觀性和程式碼美觀性而言)是使用類別擴展。是的,您可以使用類別擴充功能向類別以外的其他元素類型新增方法 - 在本例中是表,但它也適用於表單。

首先,建立一個新類別。您可以將其命名為任何您想要的名稱,但由於某種原因,它必須以“_Extension”為後綴。假設您需要為 CustTable 新增顯示方法,例如,您可以將其命名為 MyCustTable_Extension。

該類別必須用 ExtensionOf 修飾,以便系統知道您正在擴展什麼,如下所示:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

現在,您只需在這個類別中實現您的顯示方法,就像您在早期版本的 Dynamics 中直接在表上所做的那樣 - “this”甚至引用該表,因此您可以訪問字段和其他方法。

例如,具有簡單(且完全無用)的顯示方法(僅傳回客戶的帳號)的類別可能如下所示:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

現在,要將顯示方法新增至表單(或表單擴展,如果您無法直接編輯表單),您需要手動向表單新增一個字段,並確保使用正確的類型(此範例中為字串)。

然後,在控制項上,將 DataSource 設定為 CustTable(或 CustTable 資料來源的任何名稱),將 DataMethod 設定為 MyCustTable_Extension.displayAccountNum(確保包含類別名,否則編譯器找不到該方法)。

您已完成 :-)

更新:在表單新增顯示方法時不再需要包含擴充類別名,但在最初發佈時是需要的。我在這裡留下這些資訊以防有些讀者仍在使用舊版本。

分享至 Bluesky在 Facebook 分享在 LinkedIn 分享在 Tumblr 上分享分享至 X在 LinkedIn 分享固定在 Pinterest 上

米克爾·邦·克里斯滕森

關於作者

米克爾·邦·克里斯滕森
麥可 是 miklix.com 的創建者和所有者。他有超過 20 年的專業電腦程式設計師/軟體開發人員經驗,目前全職受僱於一家歐洲大型 IT 公司。不寫部落格時,他會將業餘時間花在各種各樣的興趣、愛好和活動上,這在一定程度上反映在本網站所涵蓋的主題的多樣性上。