Announcement

Collapse
No announcement yet.

Query und DBGrid

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

  • Query und DBGrid

    Benutze Delphi6
    Bei einer Query-Abfrage und damit verknüpftem dbGrid, wollte ich nach einem Auswahlkriterium eine Zeile rot eine andere grün färben. Benutzte dabei columndraw als Methode. Funktioniert im Prinzip einwandfrei. Leider erscheint die Farbänderung erst in der Zeile darunter. Warum?

  • #2
    Hallo,

    wie sieht dieses Beispiel aus? Vermutlich wurden die Eigenschaften "zu spät" gesetzt, so dass die VCL die neue Farbe erst bei der nächsten Zeile berücksichtigt

    Comment


    • #3
      In dem Ereignis ondrawcolumncell habe ich folgende Zuweisung gewählt:
      if Querygeschlecht='w' then dbgrid.column[0].font.style:=clgreen;
      Da ich keine Idee habe, wie ich diese Abfrage früher in den Quelltext einbauen kann, wäre ich für eine Idee dankbar.
      Mf

      Comment


      • #4
        Hallo,

        der folgende Weg ist besser ;-)
        <pre>
        procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
        DataCol: Integer; Column: TColumn; State: TGridDrawState);
        begin
        with DBGrid1, Canvas do
        begin
        if Odd(Table1CustNo.AsInteger) then
        Brush.Color := clRed
        else
        Brush.Color := clBlue;
        DefaultDrawColumnCell(Rect, DataCol, Column, State);
        end;
        end;
        </pre&gt

        Comment


        • #5
          Auch die Lösung von Herrn Kosch funktioniert nicht, auch bei mir:

          Leider erscheint die Farbänderung erst in der Zeile darunter. Warum?

          Ist das ein Bug?

          Willma

          Comment

          Working...
          X