Карта сайтаСсылкиКонтакты

Отображение выбранной строки DBGrid другим цветом

PDF Печать
Статьи

Если Вы хотите окрасить выбранную строку в DBGrid, но Вы не хотите использовать опцию dgRowSelect, потому что Вы хотите редактировать данные, Вы можете использовать следующую методику в событии DBGrid.OnDrawColumnCell:


procedure TForm1.DBGrid1DrawColumnCell(
   Sender: TObject; const Rect: TRect; 
   DataCol: Integer; Column: TColumn; State: TGridDrawState); 
begin 
   with TCustomDBGridCracker(Sender) do begin 
     if DataLink.ActiveRecord = Row - 1 then 
       Canvas.Brush.Color := clRed 
     else 
       Canvas.Brush.Color := clWhite; 

     DefaultDrawColumnCell(Rect, DataCol, Column, State); 
   end; 

   if gdFocused in State then 
   with (Sender as TDBGrid).Canvas do 
   begin 
     Brush.Color := clNavy; 
     FillRect(Rect); 
     DBGrid1.Canvas.Font.Color := clHighlightText; 
     DBGrid1.Canvas.Font.Color := clYellow; 
   end; 
   // вывести стандартный текст 
   DBGrid1.Canvas.TextRect (
      Rect, Rect.Left, Rect.Top, Column.Field.AsString); 

end;

По материалам http://delphi.3000.com


 

Добавить комментарий


Защитный код
Обновить