2014-02-06 4 views
2

Я использую Delphi XE2, есть ли способ установить жирный шрифт в части текста в DBGrid? Например, когда я что-то ищу, я хочу что-то вроде этого.Как полужирная часть текста в dbgrid?

enter image description here

Можно ли это сделать?

+0

Да, это так. Вы должны будете использовать пользовательский чертеж, хотя нет никаких индивидуальных свойств, которые вы можете установить для этого. –

ответ

5
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; 
DataCol: Integer; Column: TColumn; State: TGridDrawState); 
begin 
    if (Column.Field.FieldName = 'Pay') then 
    begin 
    if Column.Field.AsString = 'yes' then 
    begin 
     dbgrid1.Canvas.Font.Color := clBlue; 
     dbgrid1.Canvas.Font.Style :=[fsBold]; 
     dbgrid1.Canvas.FillRect(Rect); 
     dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); 
    end 
    else 
    begin 
     dbgrid1.Canvas.Font.Color:= clRed; 
     dbgrid1.Canvas.FillRect(Rect); 
     dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); 
    end; 
    end; 
end; 
+0

Есть ли способ перерисовать dbgrid, изменяя свойство текста для редактирования, чтобы я мог снова получить dbgrid? –

+0

как вы используете? Вы ищете по содержимому Tedit и возвращаете данные на dbgrid? Динамический? –

+0

Точно, это динамично. –

1

Для решения этой проблемы задайте значение свойства DefaultDrawing DBGrid равным False.

У меня была такая же проблема для меня и решена.

Смежные вопросы