Zeilen einer Page farblich markieren

11. November 2020 10:55

Guten Morgen,

ich hatte vor einigen Wochen eine kleine Anforderung. In einer Page List sollten die Zeilen in roter Farbe erscheinen, wenn das Feld Status den Wert "blockiert" oder "beschädigt" hat. Dazu habe ich in der Page eine Textvariable erstellt (StyleText)
und im OnAfterGetRecord folgenden Code verwendet:
Code:
StyleText :='';
IF (Status = Status :: Blocked) OR (Status = Status::Scrapped)
THEN BEGIN 
    StyleText:= 'Attention';
END ELSE BEGIN
  StyleText:= 'Standard';
END;


Anschließend habe ich wie in Anleitung https://www.sauravdhyani.com/2012/10/co ... pages.html für jedes DataItem die Propertys Style und StyleExpr umgestellt.

Mein Problem nun für eine Ähnliche Anforderung. In der Fertigungsstücklisten Page List gibt es die Menu Action "Versionen", die wieder rum auf eine andere Page (Versionen Übersicht) verweist. Die Fachabteilung möchte schon in der Fertigungsstücklisten Übersicht erkennen, ob die (Versionen Übersicht) einen Datensatz bzw. eine Version enthält, indem ich die Zeile farblich markieren soll. Jetzt bin ich ähnlich vorgegangen. Ich habe in der Prod BOM LIst Page eine Record Variable auf Table (Prod BOM Version) erstellt und im OnAfterGetRecord Trigger folgenden Code verwendet
Code:
StyleText :='';
IF ProdBomVers."Production BOM No."<>''
  THEN BEGIN
    StyleText:= 'Attention';
  END ELSE BEGIN
    StyleText:= 'Standard';
END;


Kann ich das überhaupt so machen? Meine Idee ist einfach zu prüfen ob das Primärfeld gefüllt ist. Oder muss ich vor der Prüfung ein Setfilter setzen ?

Re: Zeilen einer Page farblich markieren

11. November 2020 12:21

Du willst ja für eine bestimmte Fertigungsstückliste die Versionen finden. Also musst du darauf filtern. Alternativ würde auch ein Flowfield funktionieren.