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;