1樓:匿名使用者
在 delphi 的內建元件裡,並沒有 datagrid 元件。
以下提供的是 dbgrid 元件,隔行變色顯示的**:
procedure tform1.dbgrid1drawdatacell(sender: tobject; const rect: trect;
field: tfield; state: tgriddrawstate);
begin
if dbgrid1.datasource.dataset.recno mod 2 = 1 then
begin
dbgrid1.canvas.brush.color := clblue;
dbgrid1.canvas.font.color := clyellow;
end;
dbgrid1.defaultdrawdatacell(rect,field,state);
end;
效果演示:
2樓:囚籠山人六
delphi中dbgrid行列顏色設定
1. 縱向斑馬線效果:實現網格的奇數列和偶數列分別以不同的顏色顯示,以區別相鄰的資料列。 file://在dbgrid的drawcolumncell事件中編寫如下**:
4.行突顯的斑馬線效果:既突出當前行,又區分不同的列(欄位)。 file://其它屬性設定同3,將上述**修改為:
if ((state = [gdselected]) or (state=[gdselected,gdfocused])) then begin
case datacol mod 2 = 0 of
true : dbgrid1.canvas.
brush.color:=clred; file:
//當前選中行的偶數列顯示紅色 false: dbgrid1.canvas.
brush.color:=clblue; file:
//當前選中行的奇數列顯示藍色 end;
dbgrid1.canvas.pen.mode:=pmmask;
dbgrid1.defaultdrawcolumncell (rect, datacol, column, state);
1/14頁
end;
關於delphi dbgrid想要某一行改變顏色問題!
3樓:匿名使用者
少了一句:
if adoquery5.fieldbyname('職位型別').asstring ='經理' then//先寫一個值先
begin
dbgrid5.canvas.brush.color :=clblue;
dbgrid5.defaultdrawcolumncell(rect, datacol, column, state);
end;
4樓:匿名使用者
看看你的if是不是執行了
easyui的datagrid,怎麼動態改變某一行的背景顏色 10
5樓:匿名使用者
$('#tt').datagrid(
}});
delphi 更改stringgrid單元格所在行的字型顏色
6樓:至少讓我看一眼
由於tstringgrid沒有並沒有提供類似的方法.所以只能自己畫了.
以下** 是假定 有一個名稱為 form2 的窗體 上面放著 一個名稱為 sgrid的tstringgrid:
以下**實現了這個stringgrid的ondrawcell事件
procedure tform2.sgriddrawcell(sender: tobject; acol, arow: integer;
rect: trect; state: tgriddrawstate);
varthegrid: tstringgrid; celltext: string;
begin
if not (arow = 1) then exit; //如果不滿足條件,條件由你自行確定
thegrid := sender as tstringgrid; //強制型別轉換sender,可以讓多個stringgrid來使用這個函式
with thegrid.canvas do
begin
//如果單元格被中了則繪製高亮否則,則繪製指定的顏色
if gdselected in state then
begin
brush.color := clhighlight; font.color := clhighlighttext;
endelse
begin
brush.color := clwindow; font.color := clred; //這裡是你需要設定的顏色,暫時這隻為紅色
end;
if gdfixed in state then
begin
brush.color := clbtnface;
end;
fillrect(rect); //代替原始內容,並繪製背景
celltext := thegrid.rows[arow][acol]; //獲取單元格文字
inc(rect.left,2); //讓文字區域左縮排2畫素
//利用windows api函式繪製文字
drawtext(handle,pchar(celltext),length(celltext),rect,
dt_left or dt_singleline or dt_vcenter or dt_end_ellipsis);
end;
end;
在delphi中單擊dbgrid某條資料怎麼讓另外dbgrid裡的資料發生變化
你的問題似乎是主 子表問題。有兩種方法 方法一 利用delphi的 form嚮導 生成主 子表窗體。這種方法比較死板但效率高。方法二 自己程式設計通過過濾的方式實現主 子表相同的效果。可靈活控制,但效率低些,使用於資料量不大的情況。以下是雙擊的例程,和你要求的單擊功能相似。table1是主表,tab...
在delphi中怎麼設定介面的背景
delphi設定介面背景有兩種情況,一是在設計期間修改背景,二是在執行期間修改。對於設計期的修改方法如下 1.選擇待處理的form 2.在屬性編輯中,找到color屬性 3.使用下拉選擇待設定的顏色 4.逐一設定視窗上所有的控制元件,將其控制元件的transparent屬性修改為true,以使得字型...
delphi中想設定CTRL ENTER快捷鍵
unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs type tform1 class tform procedure formcreate sender...