我正在使用Delphi XE2,有没有办法在DBGrid中的部分文本上设置粗体字体样式? 例如,当我搜索某些内容时,我想要这样的内容。
是否可以这样做?
答案 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;
答案 1 :(得分:1)
要解决此问题,请将DBGrid的属性DefaultDrawing的值设置为False。
我遇到了同样的问题并解决了。