Thema: Delphi einzelnes feld updaten

Einzelnen Beitrag anzeigen

jensw_2000
(Gast)

n/a Beiträge
 
#10

Re: einzelnes feld updaten

  Alt 14. Feb 2005, 13:24
Das kannst du mit dem Eventhandler DrawColumnCell des dbgrids machen ...


Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var FieldValue:Integer;
begin

  //nicht ausführen wenn die Zelle den Focus hat oder selektiert ist
  if (gdSelected in State) or (gdFocused in State) then exit;

  // Beispiel(nur wenn die 2. Spalte des Grids gezeichnet wird)
  if column.Index=1 then
  begin
    try
      
      FieldValue := Round(column.Field.Value);
      
      // Schriftfarbe wählen
      dbgrid1.canvas.Font.Color:=clBlack;

      // Hintergrundfarbe abhängig vom Wert wählen
      if fieldValue > 50 then
        dbgrid1.canvas.Brush.Color:=clRed else
        dbgrid1.canvas.Brush.Color:=clGreen;

      // Zelle zeichnen
      dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

    except
     // kein Numerischer Wert
    end;
  end;

end;
  Mit Zitat antworten Zitat