数据库控件:ADOQUERY、DATESORUCE、DBGRIDEH
考试中总分超过(共5门课程)400分的记录用黄色显示,
小于300分的用红色显示。谢谢!

解决方案 »

  1.   

    在 DrawDataCell  事件里写出如下代码,
    我给出一个例子:
    if  (adoquery1.FieldByName('研磨回数').AsInteger>10) then             
         dbgrid1.Canvas.Brush.Color:=clyellow;if  (adoquery1.FieldByName('研磨回数').AsInteger>12) then
           dbgrid1.Canvas.Brush.Color:=clred;
    DBGrid1.DefaultDrawDataCell(Rect,field,state);
      

  2.   

    procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    begin
        if Not DM.UpListADOStoredProc.IsEmpty then
        begin
            with DBGridEh1.Canvas do
            begin
                //if (Trim(DM.UpListADOStoredProc.Fields[0].Value) <> Trim(Unit2.DWCode)) And (DM.UpListADOStoredProc.Fields[4].Value = '') then
                if Length(Trim(DM.UpListADOStoredProc.FieldByName('时间').Value)) = 0 then
                    DBGridEh1.Canvas.Brush.Color:= clSkyBlue;
                    //DBGridEh1.Canvas.Brush.Color:= clCream;
                    //DBGridEh1.Canvas.Brush.Color:= TColor($8C8C80);
            end;
            DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
        end;
    end;