各位大侠:
     请问在DBGrid控件中怎样写代码设置如下格式(设置颜色):
      字段1         字段2          字段3……
记录1  25            35             42……
记录2  38            26             31……
记录3  45            40             37……
记录4  26            31             28……
……   ……          ……           ……
将记录1、3、5、7……设置为一种颜色;记录2、4、6、8……设置为另外一种颜色?

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/4228/4228170.xml?temp=.4438288
      

  2.   

    我之前写的,参考一下procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);  //¸ù¾Ý¹¤×ʽð¶îÀ´¸Ä±äÑÕÉ«
    var i :integer; //±äÁ¿
    begin
     i:= AdoTable1.FindField('¹¤×Ê').AsInteger; //È¡µÃµ±Ç°¼Ç¼¹¤×Ê×ֶεÄÖµ¡£
     case i of  //³ÌÐò½«¸ù¾ÝwageÖµÉèÖø÷ÐеÄÑÕÉ«¡£
     500:(Sender as TDBGrid).Canvas.Brush.Color :=clGreen; //µ±¹¤×Ê£½500ʱ£¬ÎªÂÌÉ«
     501..999:(Sender as TDBGrid).Canvas.Brush.Color :=clred; //&micro;±&sup1;¤×&Ecirc;>500<1000&Ecirc;±&pound;&not;&Icirc;&ordf;&ordm;ì&Eacute;&laquo;
     1000..1500:(Sender as TDBGrid).Canvas.Brush.Color :=clMaroon; //&micro;±&sup1;¤×&Ecirc;=1000~1500&Ecirc;±&pound;&not;&Icirc;&ordf;×&Oslash;&Eacute;&laquo;
     2000:(Sender as TDBGrid).Canvas.Brush.Color :=$00FFBFFF; //&micro;±&sup1;¤×&Ecirc;=2000&Ecirc;±&pound;&not;&Icirc;&ordf;·&Ucirc;&ordm;ì
     end;
     DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); //&Ouml;&Oslash;&raquo;&shy;TDBGrid&micro;&Auml;&Ntilde;&Otilde;&Eacute;&laquo;
    end;
      

  3.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState); 
    var i :integer; 
    begin
     i:= AdoTable1.FindField('工资').AsInteger;
     case i of  
     500:(Sender as TDBGrid).Canvas.Brush.Color :=clGreen; 
     501..999:(Sender as TDBGrid).Canvas.Brush.Color :=clred; 
     1000..1500:(Sender as TDBGrid).Canvas.Brush.Color :=clMaroon;
     2000:(Sender as TDBGrid).Canvas.Brush.Color :=$00FFBFFF; 
     end;
     DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); 
    end;