全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1404
推到 Plurk!
推到 Facebook!

關於DBGRID顏色顯示,採用資料表同一比記錄的後面欄位來決定前面欄位來記錄顏色顯示

答題得分者是:jeffreck
yaoyao01tw
一般會員


發表:28
回覆:17
積分:9
註冊:2003-01-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-07 10:22:01 IP:61.58.xxx.xxx 未訂閱
關於DBGRID顏色顯示,採用資料表同一比記錄的後面欄位來決定前面欄位來記錄顏色顯示 各位前輩: 想問一下關於DBGRID顏色顯示,我在DBGrid1DrawColumnCell變更顏色顯示的程式碼 採用的撰寫方式乃是讀取資料表同一比記錄的後面欄位來決定前面欄位來記錄顏色顯示 比如欄位名稱[1]同一比記錄對應的顏色記錄是[C1],可是顏色顯示都不會正確 記得DBGRID是同一列掃下來的,可是顏色顯示都不會正確。 煩請各位前輩看一下程式碼(http://cm.yuntech.edu.tw/8923538/Code_TEst.rar) procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var i: Integer; begin for i := 0 to (Sender as TDBGrid).Columns.Count - 1 do begin if ((i > 8) and (i <= 108)) then // 只處理有顏色的對應欄位 begin if (Sender as TDBGrid).Columns[i 100].Field.Value <> Null then begin if Trim((Sender as TDBGrid).Columns[i 100].Field.Value) <> '' then begin (Sender as TDBGrid).Columns[i].Color := StringToColor((Sender as TDBGrid).Columns[i 100].Field.Value); end; end else begin (Sender as TDBGrid).Columns[i].Color := clWhite; //預設的顏色值 end; end; end; TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-07 11:45:36 IP:61.218.xxx.xxx 未訂閱
 
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var i: Integer;
begin
    if ((DataCol > 8) and (DataCol <= 108))  then //  只處理有顏色的對應欄位
    begin
      if (Sender as TDBGrid).Columns[DataCol   100].Field.Value <> Null then
      begin
        if Trim((Sender as TDBGrid).Columns[DataCol   100].Field.Value) <> '' then
        begin
      (Sender as TDBGrid).canvas.Brush.color  := StringToColor (Trim((Sender as TDBGrid).Columns[DataCol   100].Field.Value));
        end;
      end
      else
        (Sender as TDBGrid).canvas.Brush.color  := clWhite; //預設的顏色值
    end;        (Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);    end;
try try see
系統時間:2024-05-19 14:42:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!