線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1494
推到 Plurk!
推到 Facebook!

DBGrid顏色調整問題

尚未結案
zxy666666
中階會員


發表:108
回覆:150
積分:86
註冊:2005-01-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-23 20:03:54 IP:218.16.xxx.xxx 未訂閱
各位大大好!又來麻煩您們了. 我搜尋到Ktop的文章試做出DBGrid單,雙行顏色不同(如下代碼). 當不能多選記錄時,即dgMultiSelect:=false時沒有問題, 但是如果dgMultiSelect:=true時,我想請問是否可以做到, 所有被選擇的記錄是否可略過單,雙行顏色不同的那段代碼 如: if gdSelected in State then Exit;一樣呢? 感謝各位解答!
procedure TfmMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Canvas: TCanvas;
  i : Integer ;
begin
  if gdSelected in State then Exit;
  Canvas := (Sender as TDBGrid).Canvas;
  if ((Column.Field.DataSet.RecNo mod 2) = 0) then
    Canvas.Brush.Color := clMenu
  else
    Canvas.Brush.Color := clWindow;
    Canvas.Font.Color := clMaroon;
    Canvas.FillRect(Rect);
    DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
end;
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-24 10:08:30 IP:61.222.xxx.xxx 未訂閱
做一點小修改就可以了。(建議應為 VCL 區)
procedure TfmMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Canvas: TCanvas;
  i,Index : Integer ;
begin
  if gdSelected in State then Exit;
  if DBGrid1.SelectedRows.Find(DBGrid1.Datasource.Dataset.Bookmark,Index) then Exit;      Canvas := (Sender as TDBGrid).Canvas;
  if ((Column.Field.DataSet.RecNo mod 2) = 0) then
    Canvas.Brush.Color := clMenu
  else
    Canvas.Brush.Color := clWindow;
    Canvas.Font.Color := clMaroon;
    Canvas.FillRect(Rect);
    DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
end;
~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ 發表人 - wameng 於 2005/05/24 10:14:42
zxy666666
中階會員


發表:108
回覆:150
積分:86
註冊:2005-01-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-24 13:56:14 IP:218.16.xxx.xxx 未訂閱
謝版主大人解答!測試OK.    to:wameng版主大人 不好意思,我還以為我的問題跟資料庫有關呢,所以.... 呵呵,有錯誤的地方請大人見諒並指正,謝謝!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-24 15:06:23 IP:61.222.xxx.xxx 未訂閱
引言: 不好意思,我還以為我的問題跟資料庫有關呢,所以....
嘿嘿!我是在拉客。.... ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
系統時間:2024-06-28 2:17:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!