Weergave- of bewerkingsmethode toevoegen via extensie in Dynamics 365
Gepubliceerd: 16 februari 2025 om 11:55:48 UTC
Laatst bijgewerkt: 12 januari 2026 om 08:57:25 UTC
In dit artikel leg ik uit hoe je een klasse-extensie kunt gebruiken om een weergavemethode toe te voegen aan een tabel en een formulier in Dynamics 365 for Operations, inclusief X++-codevoorbeelden.
Add Display or Edit Method via Extension in Dynamics 365
Hoewel het plannen van weergave- of bewerkingsmethoden in Dynamics doorgaans aanleiding geeft om te overwegen of je je oplossing misschien op een andere manier zou kunnen ontwerpen, zijn ze soms de beste optie.
In eerdere versies van Dynamics en Axapta was het heel eenvoudig om weergave- of bewerkingsmethoden aan tabellen en formulieren toe te voegen, maar toen ik onlangs mijn eerste bewerkingsmethode in Dynamics 365 moest maken, ontdekte ik dat de procedure daarvoor enigszins anders is.
Er zijn uiteraard verschillende geldige benaderingen, maar degene die ik het beste vind (zowel qua intuïtiviteit als qua code-elegantie) is het gebruik van een klasse-extensie. Ja, je kunt klasse-extensies gebruiken om methoden toe te voegen aan andere elementtypen dan klassen - in dit geval een tabel - maar het werkt ook voor formulieren.
Maak eerst een nieuwe klasse aan. Je kunt hem elke naam geven die je wilt, maar om een of andere reden moet hij eindigen op "_Extension". Stel dat je een weergavemethode aan CustTable wilt toevoegen, dan zou je hem bijvoorbeeld MyCustTable_Extension kunnen noemen.
De klasse moet worden voorzien van de annotatie ExtensionOf om het systeem te laten weten wat je uitbreidt, zoals in het volgende voorbeeld:
public final class MyCustTable_Extension
{
}
Nu kunt u uw weergavemethode gewoon in deze klasse implementeren, net zoals u dat in eerdere versies van Dynamics rechtstreeks op de tabel zou hebben gedaan. "This" verwijst zelfs naar de tabel, zodat u toegang hebt tot velden en andere methoden.
Een klasse met een simpele (en volstrekt nutteloze) weergavemethode die alleen het klantnummer retourneert, zou er bijvoorbeeld zo uit kunnen zien:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Om de weergavemethode aan een formulier (of formulieruitbreiding, als je het formulier niet rechtstreeks kunt bewerken) toe te voegen, moet je handmatig een veld aan het formulier toevoegen en ervoor zorgen dat je het juiste type gebruikt (string in dit voorbeeld).
Stel vervolgens in het besturingselement DataSource in op CustTable (of de naam van uw CustTable-gegevensbron) en DataMethod op MyCustTable_Extension.displayAccountNum (zorg ervoor dat u de klassenaam toevoegt, anders kan de compiler de methode niet vinden).
En klaar is Kees :-)
Update: Het is niet langer nodig om de naam van de extensieklasse op te nemen bij het toevoegen van de weergavemethode aan een formulier, maar ten tijde van de oorspronkelijke publicatie was dit wel het geval. Ik laat de informatie hier staan voor het geval sommige lezers nog oudere versies gebruiken.
Verder lezen
Als je dit bericht leuk vond, vind je deze suggesties misschien ook interessant:
- Financiële dimensiewaarde bijwerken vanuit X++-code in Dynamics 365
- Zet Dynamics 365 FO Virtual Machine Dev of Test in de onderhoudsmodus
- Visual Studio hangt bij het opstarten tijdens het laden van recente projecten
