delphi 如何改变符合条件的dbgrid背景色?

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:56:16
我想做一个查询,比如,我想把姓张的员工的姓名都显示出来,dbgrid的显示背景色变为红色,其他的颜色不变。请问如何实现?

可以在DBGrid的DrawColumnCell事件里面控制
uses
StrUtils;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if AnsiStartsText('张', ADOTable1.FieldByName('name').AsString) then
(Sender as TDBGrid).Canvas.Brush.Color := clRed;
//(Sender as TDBGrid).Canvas.Font.Color := clRed;//如果改字体颜色用这个

(Sender as TDBGrid).DefaultDrawDataCell(Rect, Column.Field, State);
end;