Page-Field Property/Variable per EventSubscriber ändern

23. Januar 2018 14:02

Hallo zusammen,
ich möchte gerne den Style eines Feldes auf einer Page dynamisch ändern.
Meine Vorgehensweise wäre bisher so: Da es sich immer nur um eine alternative Farbe handelt, würde ich den Style auf den entsprechenden Wert ändern und für den Wert StyleExpr eine Variable vom Typ Boolean nutzen. Diese Variable würde ich im OnAfterGetRecord Trigger dynamisch ändern.(Alternativ könnte man natürlich auch eine Variable für den Style selbst nehmen und StyleExpr fest auf TRUE).
Mittlerweile ist mein Code soweit wie möglich über Events auf eine Codeunit ausgelagert.
Könnte ja nun eine EventSubscriber vom Typ OnAfterGetRecordEvent und als PublisherObject die Page wählen. Gäbe es von hieraus die Möglichkeit auf die Variable zuzugreifen, welche auf der Page definiert wurde(für StyleExpr) oder einen anderen Weg "von außen" das Property des Page-Fields zu ändern?.

Re: Page-Field Property/Variable per EventSubscriber ändern

25. Januar 2018 09:13

Hallo,
über eine Subscriber-Funktion, die auf das OnAfterGetRecord-Event der Page verweist, geht das nicht.
Meines Erachtens müsstest du in der Page eine eigene Funktion als Publisher veröffentlichen, die als Parameter deine Variable für die StyleExpr hat.
Dann könntest du eine Subscriber-Funktion für deine neue Publisher-Funktion erstellen und dort die Variable setzen.

Das Ganze ist damit m.E. etwas umständlich.
Ggf. wäre es hier sinnvoller, deine Anpassung direkt in der Page zu programmieren und deine Erweiterung als Extension auszulagern.
Dadurch bliebe die Page im Ursprungszustand.