Einzelnen Beitrag anzeigen

Stefan1286b

Registriert seit: 6. Jan 2012
Ort: Dinklage
25 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX StringGrid OnDrawColumnCell Farben anhand eine anderen Wertes

  Alt 28. Sep 2020, 12:37
Hallo.

Ich bin gerade dabei ein VCL Programm in FMX umzuschreiben.
Das Programm greift via FireDAC auf einen MSSQLServer zu. Das funktioniert auch so weit. Auch funktioniert es die Daten via LiveBindings in ein StringGrid zubekommen.
Es ist allerdings auch das erste mal das ich mit LiveBindings arbeite.
Auch das ändern der Font und Brush Farben in OnDrawColumnCell stellt soweit kein Problem da.

Das Problem ist die Herkunft der Farbe. Ich habe ein Feld Projektleiter. dieser wird über die SQL Abfrage korrekt dargestellt. In der Tabelle ist es ProjektleiterId und wir über die Abfrage von einer anderen Tabelle (Projektleiter ) korrekt zum Namen geändert. Es gibt ein weiteres Feld welches auch über die Abfrage als Feld dargestellt wird auch dieses kommt von der Tabllle Projektleiter. Es ist die Farbe. Das Feld hat den Namen ProjektleiterFarbe und enhält einen Integerwert der Farbe. Alles soweit gut. Nur wie Komme ich in OnDrawColumnCell im Column Projektleiter auf die Farbe.
In VCL war dies ganz einfach.

ADODataSetProjekteProjektleiterFarbe.Value Theoretisch funktioniers das in FMX unter FireDAC auch
FDQProjekteProjektleiterFarbe.Value nur das der Wert immer gleich ist und das dies nicht funktioniert.
Es funktioniert wenn ich
FDQProjekte.RecNo := Row+1; setze nun dann ist die Geschwindikeit unbrauchbar langsam.
Also gehe ich davon aus, dass ich die Farbe auch via LiveBindings an den StringGrid übergeben muss. Nur wie?
Mein Ansatz ist dass ist ein weiteres Columns erstelle im StringGrid welcher die Farbe enthält und die Breit auf 0 stelle. Aber ich weiß immer noch nicht wie ich wenn die Procedure von OnDrawColumnCell sich in Projektleiter befindet ich auf Projektleiterfarbe zugreifen kann.
  Mit Zitat antworten Zitat