Einzelnen Beitrag anzeigen

wschrabi

Registriert seit: 16. Jan 2005
431 Beiträge
 
#1

DBGrid darstellen von neg Zahlen als pos

  Alt 16. Feb 2012, 17:47
Delphi-Version: 5
Hi,
hat jemand eine Lösung für mein Problem?

Ich habe eine DB die ich am Screen mit DBGrid darstelle.
Jetzt sind in der DB auch neg Zahlen drin, die ich positiv im Grid darstellen möchte.
(Weiters wird wenn neg. die CellFarbe geändert, das hab ich mit dem Event DBGrid1DrawColumnCell geschafft.)
Hat jemand eine Idee wie ich in diesem Event auch den Cell-Inhalt ändern kann, ohne dass es auf die DB sich auswirkt?
DANKE

Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  col: integer;
begin
  for col:= 1 to MyQuery2.FieldByName('NumLOGDATA').AsInteger do
    begin
    if Column.Fieldname = 'MPi'+IntToStr(col) then //alternativ über den Index des Spalte
      begin
      if MyQuery2.FieldByName('MPi'+IntToStr(col) ).AsFloat < 0 then
        begin
        DBGrid1.Canvas.brush.color:=clYellow;
        DBGrid1.Canvas.font.color:=clBlack;
        DBGrid1.DefaultDrawColumnCell(rect, 1, column,state);
        //DBGrid1.DataSource.DataSet.FieldByName('MPi'+IntToStr(col)).AsFloat:=-1*DBGrid1.DataSource.DataSet.FieldByName('MPi'+IntToStr(col)).AsFloat
        end
      else
        begin
        DBGrid1.Canvas.brush.color:=clWhite;
        DBGrid1.Canvas.font.color:=clBlack;
        DBGrid1.defaultdrawcolumnCell(rect, 1, column,state);
        end;
      end;
    end;
end;

Geändert von wschrabi (16. Feb 2012 um 17:50 Uhr)
  Mit Zitat antworten Zitat