Блин, помогите со старой проблемой - уже обращался я и так и не сделал - как подсветить удаленные записи в cxDBGride (без создания всяких дополнительных колонок, индексов и т.д.)? Могу даже пример выложить (только там для доступа к dbf используется компонент Advantage Tdataset Descendant). Вот смотрите - на форме 2 грида - один стандартный, один девовский. Код для стандартного:
Код:
procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
OldC: TColor;
begin
if not (gdFocused in State) then
begin
// получаю по номеру записи (AdsTable1.AdsGetRecordNum) в dbf-ке - удалена ли она
if AdsTable1.AdsIsRecordDeleted(AdsTable1.AdsGetRecordNum) then
begin
OldC := dbGrid1.Canvas.Brush.Color;
dbGrid1.Canvas.Brush.Color := clRed;
dbGrid1.Canvas.FillRect(Rect);
dbGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
dbGrid1.Canvas.Brush.Color := OldC;
end;
end;
end;
Код:
procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
OldC: TColor;
begin
if not (gdFocused in State) then
begin
// получаю по номеру записи (AdsTable1.AdsGetRecordNum) в dbf-ке - удалена ли она
if AdsTable1.AdsIsRecordDeleted(AdsTable1.AdsGetRecordNum) then
begin
OldC := dbGrid1.Canvas.Brush.Color;
dbGrid1.Canvas.Brush.Color := clRed;
dbGrid1.Canvas.FillRect(Rect);
dbGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
dbGrid1.Canvas.Brush.Color := OldC;
end;
end;
end;