100分啊,我要下面的代码可以改变单元格的字体、背景颜色procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (DataCol = 1)and(ADOTable1.FieldByName('UserName').Value = 'Administrator') then begin DBGrid1.Canvas.Font.Color := clRed; DBGrid1.Canvas.Brush.Color := clLime; end; DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); end;以上代码仅把第一列(从零列开始),第UserName='Administgrator'行的单元格的字体颜色改为红色,背景颜色改为亮绿色
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin DBGrid1.Canvas.Font.Color:=clred; DBGrid1.Canvas.Brush.Color:=clgray; {//改变某个单元格的颜色 if (Field.FullName='SIZE')and (Field.AsInteger=2) then begin DBGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,Field.AsString); end;} //改变某行的颜色,该行的NAME字段值=aaa if Field.DataSet.FieldByName('NAME').asString='aaa' then DBGrid1.Canvas.TextRect(Rect,rect.Left,rect.Top,Field.AsString); end;procedure TForm1.Button2Click(Sender: TObject); begin //改变某个列的颜色 DBGrid1.Columns[1].Color:=clgreen; DBGrid1.Columns[1].Font.color:=clred; end;
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin DBGrid1.Canvas.Font.Color:=clred; DBGrid1.Canvas.Brush.Color:=clgray; {//改变某个单元格的颜色 if (Field.FullName='SIZE')and (Field.AsInteger=2) then begin DBGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,Field.AsString); end;} //改变某行的颜色,该行的NAME字段值=aaa if Field.DataSet.FieldByName('NAME').asString='aaa' then DBGrid1.Canvas.TextRect(Rect,rect.Left,rect.Top,Field.AsString); end;procedure TForm1.Button2Click(Sender: TObject); begin //改变某个列的颜色 DBGrid1.Columns[1].Color:=clgreen; DBGrid1.Columns[1].Font.color:=clred; end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (DataCol = 1)and(ADOTable1.FieldByName('UserName').Value = 'Administrator') then
begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.Canvas.Brush.Color := clLime;
end;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;以上代码仅把第一列(从零列开始),第UserName='Administgrator'行的单元格的字体颜色改为红色,背景颜色改为亮绿色
Field: TField; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Color:=clred;
DBGrid1.Canvas.Brush.Color:=clgray; {//改变某个单元格的颜色
if (Field.FullName='SIZE')and (Field.AsInteger=2) then
begin
DBGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,Field.AsString);
end;} //改变某行的颜色,该行的NAME字段值=aaa
if Field.DataSet.FieldByName('NAME').asString='aaa' then
DBGrid1.Canvas.TextRect(Rect,rect.Left,rect.Top,Field.AsString);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
//改变某个列的颜色
DBGrid1.Columns[1].Color:=clgreen;
DBGrid1.Columns[1].Font.color:=clred;
end;
Field: TField; State: TGridDrawState);
begin
DBGrid1.Canvas.Font.Color:=clred;
DBGrid1.Canvas.Brush.Color:=clgray; {//改变某个单元格的颜色
if (Field.FullName='SIZE')and (Field.AsInteger=2) then
begin
DBGrid1.Canvas.TextRect(rect,rect.Left,rect.Top,Field.AsString);
end;} //改变某行的颜色,该行的NAME字段值=aaa
if Field.DataSet.FieldByName('NAME').asString='aaa' then
DBGrid1.Canvas.TextRect(Rect,rect.Left,rect.Top,Field.AsString);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
//改变某个列的颜色
DBGrid1.Columns[1].Color:=clgreen;
DBGrid1.Columns[1].Font.color:=clred;
end;