if adoquery.FieldByName('as').asstring=edit1.text then
begin
DBGrideh1.Canvas.Font.Color := clred;
DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
begin
DBGrideh1.Canvas.Font.Color := clblue;
DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
这样写DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);报错,因为对DBGRIDEH1不熟悉,我用DBGRID照般过来的.请叫了
begin
DBGrideh1.Canvas.Font.Color := clred;
DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
begin
DBGrideh1.Canvas.Font.Color := clblue;
DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
这样写DBGrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);报错,因为对DBGRIDEH1不熟悉,我用DBGRID照般过来的.请叫了
procedure TfrmCYSQ.DBGrid1GetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
if ds.DataSet.FieldByName('SPZT').AsString = '待审批' then
begin
Background := DSHP_COLOR;
end else
if ds.DataSet.FieldByName('SPZT').AsString = '已审批' then
begin
Background := YSHP_COLOR;
end else
if ds.DataSet.FieldByName('SPZT').AsString = '未审批' then
begin
Background := WSHP_COLOR;
end;
end;
就是凡是审批状态字段的值为"已审批"或"未审批"或"待审批"的时候,显示的颜色不同。
写在在判断之后就可以了;怎用上了两句呀;