在delphi中的datagrid怎样使它显示的行间隔改变颜色

 我来答
windblast
2016-09-12 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13623
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

在 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;


效果演示:


囚笼山人六
2016-09-12 · TA获得超过8565个赞
知道大有可为答主
回答量:8577
采纳率:70%
帮助的人:2973万
展开全部
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;
追答
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式