Wie können Farbbedingungen definiert werden?

Voraussetzung: bBrowser 1.4

 

Mit der Klasse bColorCondition können im bBrowser Farbbedingungen definiert werden. Eine Farbbedingung besteht aus einer Bedingung und einer oder mehreren Vorder- und/oder Hintergrundfarben. Zu einer Farbbedingung kann ein Datenserver spezifiziert werden, auf dessen Felder in der Bedingung zugegriffen werden kann. Farbbedingungen können entweder dem bBrowser oder jeder Datenspalte hinzugefügt werden. Wenn die Farbbedingung dem bBrowser hinzugefügt wird, dann bezieht sie sich auf alle Datenspalten. Wenn die Farbbedingung einer Datenspalte hinzugefügt wird, dann bezieht sie sich nur auf diese Datenspalte. Die Anzahl der Farbbedingungen unterliegen keiner Beschränkung.

Mit dem Befehl bBrowser:ColorCondition:Add() kann einem bBrowser und mit bDataColumn:ColorCondition:Add() kann einer Datenspalte eine Farbbedingung hinzugefügt werden. In beiden Fällen müssen anschließend die Methoden bBrowser:Refresh() und bBrowser:Redraw() aufgerufen werden.

Das folgende Codefragment definiert für alle Datenspalten im bBrowser eine Farbbedingung.

METHOD PostInit() CLASS myDataWindow

  LOCAL odbsCUSTOMER    AS bDBServer

  LOCAL oColorCondition AS bColorCondition

  LOCAL cCondition      AS STRING

 

  odbsCUSTOMER := bDBServer{"CUSTOMER.DBF"}

  IF odbsCUSTOMER:Used

    self:oDCBrowser:Use(odbsCUSTOMER)

 

    cCondition := "Year(Today())-Year(Server:BIRTHDAY)>=40"

    oColorCondition := bColorCondition{cCondition;

                                       odbsCUSTOMER,;

                                       Color{COLORYELLOW},;

                                       Brush{Color{COLORRED}}}

    self:oDCBrowser:ColorCondition:Add(oColorCondition)

 

    self:oDCBrowser:Refresh()

    self:oDCBrowser:Redraw()

  ENDIF