在 DBGrid 下一行一行的資料用不同的底色

有關Delphi 的語法, 程式, 等
回覆文章
頭像
tim
文章: 1384
註冊時間: 2008年 11月 26日, 00:49

在 DBGrid 下一行一行的資料用不同的底色

文章 tim »

可以利用該 DBGrid 的 DataSet 中的 RecNo 來判斷...
但是在主從架構下, RecNo 的值會是 -1 則不適用, 可以改用
TProvider -> TClientDataset 來取代!!
該程式碼如下:

代碼: 選擇全部

     
    procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; 
      DataCol: Integer; Column: TColumn; State: TGridDrawState); 
    begin 
      Memo1.Lines.Add(inttostr(DBGRID1.DATASOURCE.DataSet.Recno)); 
      if (DBGRID1.DATASOURCE.DataSet.Recno MOD 2 =0) then 
      begin 
        DBGRID1.Canvas.Brush.Color := $00DBFDE6; 
      end 
      else 
      begin 
        DBGRID1.Canvas.Brush.Color := clWindow; 
      end; 
     
      DBGRID1.DefaultDrawColumnCell(Rect, DataCol, Column, State); 
    end; 
多多留言, 整理文章, 把經驗累積下來.....
回覆文章