如图,上表是用交叉表生成的,要实现的效果如下:
1. 如果低于控制指标,显示蓝色。
2. 如果高于控制指标,显示红色。
3. 如果在控制指标范围内,显示黑色。另外,每个数据都有一个审核状态,已审数据显示白色背景,未审数据显示橙色。以上如何高效完成。

解决方案 »

  1.   

    你好,用DBGrid或DBGridEh
      

  2.   


    你好,用DBGrid或DBGridEh 
      

  3.   

    procedure TForm1.DBGridEh2DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    begin
      if VarAsType(Column.Field.Value,varString)='Safety Knife' then
      begin
        DBGridEh2.Canvas.Font.Color := clRed;//字体颜色
        DBGridEh2.Canvas.Brush.Color := clMoneyGreen;背景颜色
      end
      else if VarAsType(Column.Field.Value,varString)='Flashlight' then
        DBGridEh2.Canvas.Font.Color := clBlue
      else
        DBGridEh2.Canvas.Font.Color := clBlack;
      DBGridEh2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;给你个例子参考,你需要具体颜色及内容判断自己可以参考上面。