数据库里有个字段xxclor存储系统颜色的代码,如8421376,8421631,如何把这些颜色代码在dbgrid单元格按照相应的系统颜色进行显示出来?

解决方案 »

  1.   


    var
      clBack : TColor;
      sStr:AnsiString;
      li,liCURRENTCOUNT,liCORRECTSCORE:Integer;
    begin
      clBack := (Sender As TDBGridEh).Canvas.Brush.Color;
      {TUIQBIAOZHI,TUIQYIJIAN}
      With Sender As TDBGridEh do
      begin
           liCURRENTCOUNT:=(Sender As TDBGridEh).DataSource.DataSet.FieldByName('CURRENTCOUNT').AsInteger;
           liCORRECTSCORE:=(Sender As TDBGridEh).DataSource.DataSet.FieldByName('CORRECTSCORE').AsInteger;
           if liCURRENTCOUNT<>liCORRECTSCORE then
           begin
             Canvas.Brush.Color := $000461FB;
           end else begin
             Canvas.Brush.Color := clBack;
           end;
         end;     
      end;
     (Sender As TDBGridEh).DefaultDrawColumnCell(Rect, DataCol, Column, State);
      

  2.   

    to oushengfen:
    DataSet.FieldByName('CURRENTCOUNT')
    DataSet.FieldByName('CORRECTSCORE')
    中的CURRENTCOUNT和CORRECTSCORE分别代表什么字段?
      

  3.   

    直接对应xxclor字段,根据字段值去写Canvas.Brush.Color