举个例子
在DBGridEh中显示如下数据:姓名 成绩
人员一 50
人员二 60
人员三 100要求把成绩小于60的显示为红色,大于60小于100的显示为绿色,100的显示为蓝色
只把成绩一列根据条件改变字体颜色,不要改变姓名那一列的字段颜色
请问如何实现?麻烦说的详细一点,谢谢大家了
在DBGridEh中显示如下数据:姓名 成绩
人员一 50
人员二 60
人员三 100要求把成绩小于60的显示为红色,大于60小于100的显示为绿色,100的显示为蓝色
只把成绩一列根据条件改变字体颜色,不要改变姓名那一列的字段颜色
请问如何实现?麻烦说的详细一点,谢谢大家了
begin
DBGridEh1.Canvas.Font.Color := clred;
DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else if DBGridEh1.Fields[1].AsFloat< 100 then
begin
DBGridEh1.Canvas.Font.Color := clGreen;
DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
begin
DBGridEh1.Canvas.Font.Color := clblue;
DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
DBGridEh1.Canvas.Font.Color := clGreen;这样写会让一整行的字体都变色的,我现在只想改变成绩那一列的字体颜色,姓名那一列不改变颜色
if DataCol <> 2 then Exit;
这样就只有“成绩”这列会改变颜色了。