在delphi中的datagrid怎样使它显示的行间隔改变颜色
2个回答
2016-09-12 · 知道合伙人软件行家
关注
展开全部
在 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;
效果演示:
展开全部
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;
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;
追答
http://wapwenku.baidu.com/view/01c6aac308a1284ac8504310.html?ssid=0&from=1086k&uid=0&pu=usm@0,sz@1320_1002,ta@iphone_2_6.0_2_6.9&bd_page_type=1&baiduid=96209F4AD3CF3EAD49F9BAE7B06B5D0E&tj=www_normal_3_0_10_title#1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询