DBGrid 2 unterschiedliche Farben in einem Feld ?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Bernie110
Beiträge: 120
Registriert: Mo 10. Feb 2020, 17:43

DBGrid 2 unterschiedliche Farben in einem Feld ?

Beitrag von Bernie110 »

Hallo Zusammen,

kann man im DBGrid einem Feld 2 unterschiedliche Farben zuordnen ?
Mit diesen Daten befülle ich das Feld.

Code: Alles auswählen

 
 procedure TFrm_DISPOPLAN_TA_SNDG.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin   
                 If Column.Index = 4 then
                  begin
                   with dbgrid1.canvas do
                         begin
                           fillRect(rect);
                           dbgrid1.Canvas.Font.height := -14;
                           dbgrid1.Canvas.TextRect(Rect, Rect.Left + 3, Rect.Top + 2,    dbgrid1.DataSource.DataSet.FieldbyName('AUFTRAGSNR').asString);
                           dbgrid1.Canvas.Font.height := -14;
                           dbgrid1.Canvas.TextRect(Rect, Rect.Left + 3, Rect.Top + 20, dbgrid1.DataSource.DataSet.FieldbyName('LS_NR').asString);
                         end;
                  end;  
Momentan stelle ich es so farblich dar.

Code: Alles auswählen

procedure TFrm_DISPOPLAN_TA_SNDG.DBGrid1PrepareCanvas(sender: TObject;
  DataCol: Integer; Column: TColumn; AState: TGridDrawState);
begin  

    // AUFTRAG  / LS NR
    if DataCol in [4] then begin
     if DBGrid1.DataSource.DataSet.FieldbyName('TOUR_ID').asInteger > 0 then
       begin
        Canvas.Brush.Color := $00D5FFC6;
        Canvas.Font.Color  := clRed;
       end else
       begin
         Canvas.Brush.Color := ClWhite;
         Canvas.Font.Color  := clRed;
       end;
    end;  
Jetzt möchte ich aber das die AUFTRAGSNR den Font Farbwert ClRed und
LS_NR den Font Farbwert ClGreen hat.
Geht das überhaupt ?
Danke für eure Antworten. Konnte leider im Netz hierzu nichts finden.
Lg Bernie

Antworten