Announcement

Collapse
No announcement yet.

Zeilen in einer DBGrid farblich wechseln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zeilen in einer DBGrid farblich wechseln

    Hallo,

    wie kann man in einer Grid die Farbe der Datenzeile (z.B. weiß - grün -weiß ...) darstellen?

    Gruß
    Manfred

  • #2
    Hallo,

    diese Aufgabe kann in einer Ereignisbehandlungsmethode für das <b>OnDrawColumnCell</b>-Ereignis erledigt werden:
    <pre>
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
    DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if Odd(DBGrid1.DataSource.DataSet.RecNo) and (State = []) then
    DBGrid1.Canvas.Brush.Color := $F0FFF0;
    DBGrid1.DefaultDrawColumnCell(Rect, Datacol, Column, State);
    end;
    </pre&gt

    Comment


    • #3
      Hallo Andreas,

      vielen Dank für Deine Nachricht.
      Leider steht bei mir in RecNo immer -1?
      Wie bekomme ich den die akt. zu zeichnende Zeile (RowNr) heraus?

      Gruß
      Manfre

      Comment


      • #4
        Hallo,

        wenn das Dataset den Wert -1 zurückliefert, scheint es sich um eine Datenmenge aus einer SQL-Datenbank zu handeln. In diesem Fall könnte man auf eine eigene Variable (Boolean) zurückgreifen, deren True/False-Wert bei jedem Aufruf umgeschaltet wird.

        P.S: Wird auf ADO zurückgegriffen, liefert <b>TADODataSet.RecNo</b> auch bei SQL-Datenbanken immer eine "Datensatznummer in der Datenmenge" mit, die an dieser Stelle ausgewertet werden kann

        Comment

        Working...
        X