Miklix

Megjelenítési vagy szerkesztési módszer hozzáadása a Dynamics 365 bővítményen keresztül

Megjelent: 2025. február 16. 11:55:35 UTC
Utolsó frissítés: 2026. január 12. 8:57:19 UTC

Ebben a cikkben elmagyarázom, hogyan használható egy osztálybővítmény megjelenítési metódus hozzáadásához egy táblázathoz és egy űrlaphoz a Dynamics 365 for Operations rendszerben, X++ kódpéldákat is beleértve.


Ezt az oldalt angolból gépi fordítással készítettük, hogy minél több ember számára elérhető legyen. Sajnos a gépi fordítás még nem tökéletes technológia, ezért előfordulhatnak hibák. Ha szeretné, itt megtekintheti az eredeti angol nyelvű változatot:

Add Display or Edit Method via Extension in Dynamics 365

Bár a Dynamics megjelenítési vagy szerkesztési metódusainak használata általában olyan dolog, ami miatt érdemes megfontolni, hogy esetleg másképp is megtervezhetnénk a megoldást, néha mégis ezek a legjobb megoldást jelentik.

Dynamics és az Axapta korábbi verzióiban nagyon könnyű volt megjelenítési vagy szerkesztési metódusokat létrehozni táblázatokon és űrlapokon, de amikor nemrég létre kellett hoznom az első szerkesztési metódusomat a Dynamics 365-ben, rájöttem, hogy az eljárás némileg eltér.

Nyilvánvalóan számos érvényes megközelítés létezik, de én a legjobbnak találom (mind az intuitivitás, mind a kód szépsége szempontjából) az osztálybővítmények használatát. Igen, osztálybővítményekkel metódusokat adhatsz hozzá az osztályokon kívüli más elemtípusokhoz is - ebben az esetben egy táblázathoz, de űrlapoknál is működik.

Először is hozz létre egy új osztályt. Bármilyen nevet adhatsz neki, de valamilyen oknál fogva „_Extension” utótagot kell adni. Tegyük fel, hogy hozzá kell adnod egy megjelenítési metódust a CustTable táblához, például elnevezheted MyCustTable_Extension-nek.

Az osztályt ExtensionOf-fal kell ellátni, hogy a rendszer tudja, mit bővítesz ki, például így:

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

Most már implementálhatod a megjelenítési metódusodat ebben az osztályban, ahogyan azt a Dynamics korábbi verzióiban közvetlenül a táblázatban tetted volna – az „ez” még a táblázatra is hivatkozik, így hozzáférhetsz a mezőkhöz és más metódusokhoz is.

Például egy osztály egy egyszerű (és teljesen haszontalan) megjelenítési metódussal, amely csak az ügyfél számlaszámát adja vissza, így nézhet ki:

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

        return this.AccountNum;
    }
}

Most, hogy hozzáadd a megjelenítési metódust egy űrlaphoz (vagy űrlapbővítményhez, ha nem tudod közvetlenül szerkeszteni az űrlapot), manuálisan kell hozzáadnod egy mezőt az űrlaphoz, és ügyelned kell arra, hogy a megfelelő típust használd (ebben a példában karakterláncot).

Ezután a vezérlőn a DataSource értékét CustTable-re (vagy a CustTable adatforrás nevére) kell állítani, a DataMethod értékét pedig MyCustTable_Extension.displayAccountNum-ra (feltétlenül tüntesd fel az osztály nevét is, különben a fordító nem találja meg a metódust).

És kész is vagy :-)

Frissítés: A megjelenítési metódus űrlaphoz való hozzáadásakor már nem szükséges a bővítmény osztálynevét megadni, de az eredeti közzététel idején ez volt szükséges. Itt hagyom az információt, hátha néhány olvasó még régebbi verziókat használ.

További olvasmányok

Ha tetszett ez a bejegyzés, akkor ezek a javaslatok is érdekelhetik:


Oszd meg a Bluesky-nOszd meg a FacebookonOszd meg a LinkedIn-enOszd meg a Tumblr-enOszd meg X-enOszd meg a LinkedIn-enPin a Pinteresten

Mikkel Christensen

A szerzőről

Mikkel Christensen
Mikkel a miklix.com létrehozója és tulajdonosa. Több mint 20 éves tapasztalattal rendelkezik, mint hivatásos számítógépes programozó/szoftverfejlesztő, és jelenleg teljes munkaidőben dolgozik egy nagy európai informatikai vállalatnál. Amikor nem blogol, szabadidejét érdeklődési körének, hobbijainak és tevékenységeinek széles skálájával tölti, ami bizonyos mértékig tükröződhet a weboldalon tárgyalt témák sokféleségében.