Изменение стиля шрифта в ячейках DBGrid

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

Как можно изменить стиль шрифта в ячейках TDBGrid?

Используйте событие OnDrawDataCell DBGrid.


procedure TForm1.DBGrid1DrawDataCell(
    Sender: TObject; const Rect: TRect; 
    Field: TField; State: TGridDrawState); 
begin 
   // Если CustNo записи - 4711 рисуем полную строку с
   // линией через нее. (Установить стиль шрифта зачеркрутый) 
   if (Sender as TDBGrid).DataSource.DataSet.FieldByName('CustNo').AsString = 
     '4711' then 
     with (Sender as TDBGrid).Canvas do 
     begin 
       FillRect(Rect); 
       // Установить стиль шрифта в StrikeOut 
       Font.Style := Font.Style + [fsStrikeOut]; 
       // Рисуем ячейку, выровненную справа для floats + offset 
       if (Field.DataType = ftFloat) then 
         TextOut(Rect.Right-TextWidth(Field.AsString)-3, 
                 Rect.Top+3, Field.AsString) 
       // Иначе, выравниваем слева + offset 
       else 
         TextOut(Rect.Left+2,Rect.Top+3,Field.AsString); 
     end; 
end; 

Примечание: код использует DBDemos, таблицу CUSTOMER.DB, TDBGrid, TDataSource и TTable.

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