Habe zwei Fragen!
1.) DBGrid nach Zeilenfarbe sortieren!
Alles was gelb ist nach oben
2.) wenn ein neuer Datensatz gelesen wird [refresh] aber nur bei Zeile gelb,
soll einmalig eine wav Datei abgespielt werden. Oder Beep würde auch gehen!
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Wert: string;
begin
Wert := DBGrid1.DataSource.DataSet.FieldByName('STATUS').Value;
if Wert = 'Erfasst' then begin
DBGrid1.Canvas.Brush.Color := clYellow;
DBGrid1.Canvas.Font.Color := clblack;
end else if Wert = 'Disponiert' then begin
DBGrid1.Canvas.Brush.Color := clFuchsia;
DBGrid1.Canvas.Font.Color := clblack;
end else if Wert = 'Beendet' then begin
DBGrid1.Canvas.Brush.Color := cllime;
DBGrid1.Canvas.Font.Color := clblack;
end else if Wert = 'Termin' then begin
DBGrid1.Canvas.Brush.Color := clAqua;
DBGrid1.Canvas.Font.Color := clblack;
end else if Wert = 'Unwetter' then begin
DBGrid1.Canvas.Brush.Color := clWhite;
DBGrid1.Canvas.Font.Color := clNavy;
end else if Wert = 'Geschlossen' then begin
DBGrid1.Canvas.Brush.Color := clgreen;
DBGrid1.Canvas.Font.Color := clblack;
end else if Wert = 'Alarmiert' then begin
DBGrid1.Canvas.Brush.Color := clWhite;
DBGrid1.Canvas.Font.Color := clred;
end else begin
DBGrid1.Canvas.Brush.Color := clWhite;
DBGrid1.Canvas.Font.Color := clblack;
end;
DBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
In Delphi 5