Computerwissenschaften

Färben der TDBGrid Delphi-Komponente

Durch Hinzufügen von Farbe zu Ihren Datenbankgittern wird das Erscheinungsbild verbessert und die Bedeutung bestimmter Zeilen oder Spalten in der Datenbank unterschieden. Dazu konzentrieren wir uns auf DBGrid. das ein hervorragendes Tool für die Benutzeroberfläche zur Anzeige von Daten bietet.

Wir gehen davon aus, dass Sie bereits wissen, wie eine Datenbank mit einer DBGrid-Komponente verbunden wird. Der einfachste Weg, dies zu erreichen, ist die Verwendung des Datenbankformular-Assistenten. Wählen Sie die Datei employee.db aus dem Alias ​​DBDemos aus und wählen Sie alle Felder außer EmpNo aus .

Spalten ausmalen

Das erste und einfachste, was Sie tun können, um die Benutzeroberfläche visuell zu verbessern , ist das Färben einzelner Spalten im datensensitiven Raster. Dies erreichen wir über die TColumns-Eigenschaft des Rasters.

Wählen Sie die Rasterkomponente im Formular aus und rufen Sie den Spalteneditor auf, indem Sie im Objektinspektor auf die Eigenschaft Spalten des Rasters doppelklicken.

Sie müssen nur noch die Hintergrundfarbe der Zellen für eine bestimmte Spalte angeben. Für Textvordergrundfarbe finden Sie in der Schriftart – Eigenschaft.

Tipp: Weitere Informationen zum Spalteneditor finden Sie im Spalteneditor: Erstellen dauerhafter Spalten in Ihren Delphi- Hilfedateien.

Zeilen ausmalen

Wenn Sie die ausgewählte Zeile in einem DBGrid einfärben möchten, aber nicht die Option dgRowSelect verwenden möchten (weil Sie die Daten bearbeiten möchten), sollten Sie stattdessen das Ereignis DBGrid.OnDrawColumnCell verwenden.

Diese Technik zeigt, wie Sie die Farbe von Text in einem DBGrid dynamisch ändern können:

Prozedur TForm1.DBGrid1DrawColumnCell 
(Absender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Beginnen Sie,
wenn Table1.FieldByName ('Gehalt'). AsCurrency> 36000, dann
DBGrid1.Canvas.Font.Color:=clMaroon;
DBGrid1.DefaultDrawColumnCell
( Rect , DataCol, Column, State);
Ende ;

So ändern Sie dynamisch die Farbe einer Zeile in einem DBGrid:

Prozedur TForm1.DBGrid1DrawColumnCell 
(Absender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Beginnen Sie,
wenn Table1.FieldByName ('Gehalt'). AsCurrency> 36000, dann
DBGrid1.Canvas.Brush.Color:=clWhite;
DBGrid1.DefaultDrawColumnCell
( Rect , DataCol, Column, State);
Ende ;

Zellen färben

Schließlich erfahren Sie, wie Sie die Hintergrundfarbe der Zellen einer bestimmten Spalte sowie die Textvordergrundfarbe ändern :

Prozedur TForm1.DBGrid1DrawColumnCell 
(Absender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Beginnen Sie,
wenn Table1.FieldByName ('Gehalt'). AsCurrency> 40000, dann
beginnen
Sie mit DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.Canvas.Brush.Color:=clBlack;
Ende ;
Wenn DataCol=4, dann ist // 4. Spalte 'Gehalt'
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
Ende ;

Wie Sie sehen können, wird bei einem Gehalt eines Mitarbeiters von mehr als 40.000 die Gehaltszelle in Schwarz und der Text in Weiß angezeigt.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.