TxDBGRID反白目前的row |
尚未結案
|
cd109
一般會員 發表:23 回覆:33 積分:11 註冊:2003-12-22 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
不知道 TxDBGrid 是怎樣的, 以下是 TDBGrid highlight 當前 record 的範例:
type TMyCustomDBGrid = Class(TCustomDBGrid); procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin with TMyCustomDBGrid(Sender) do if DataLink.ActiveRecord = Row - 1 then Begin Canvas.Brush.Color := clYellow; Canvas.Font.Color := clBlack; End else Canvas.Brush.Color := clWhite; (Sender As TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State); end; |
cd109
一般會員 發表:23 回覆:33 積分:11 註冊:2003-12-22 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
一開始的時候設 DBGrid1.OnDrawColumnCell := nil;
有 Locate 到要的資料的話, 再設 DBGrid1.OnDrawColumnCell := DBGrid1DrawColumnCell;
不要的時候再設 DBGrid1.OnDrawColumnCell := nil;
再來就是 if DataLink.ActiveRecord = Row - 1 then 這行依您 Locate 的條件來做修改試試 發表人 - hagar 於 2004/11/04 12:06:18
|
cd109
一般會員 發表:23 回覆:33 積分:11 註冊:2003-12-22 發送簡訊給我 |
謝謝版主回應:
Tdxdbgrid和dbgrid有一些程度的不同,我的程度還不夠,一時還無法消化^^.
procedure TMainForm.dxDBGrid1CustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: String; var AColor: TColor; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean); begin if ASelected then acolor:=clred; //我使用這個可以讓目前的這一列(我點到的這一列)變成我想要的顏色 end;可否再請教版主,如何讓兩者配合ㄋ for i:=0 to leqpid.Count-1 do begin IF cdsMaster.Locate('E_ID;FB',VarArrayOf([lpid[i],lfb[i]]),[])=true then {留下記號的方式(改變該行的顏色)} end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |