DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: aaaarrrrrrrrrrrr
今日帖子: 57
在线用户: 7
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 whbchy (whb) ★☆☆☆☆ -
普通会员
2004/5/7 7:28:06
标题:
请教 浏览:863
加入我的收藏
楼主: 老问题了,今日发现不会,如下
如何实现在dbgrid 中网格的多色。。
----------------------------------------------
wang
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/5/7 8:22:09
1楼: procedure TForm1.dbgrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
 With dbgrid1 do begin
    If Odd(adotable1.FieldByName('编号').AsInteger) then
     begin
    Canvas.Brush.Color:=$02E8F8F8;
    Canvas.FillRect(rect);
    Canvas.TextOut(rect.Left+2,rect.Top+2,field.AsString);
    end
    else begin
       Canvas.Brush.Color:=clwhite;
       Canvas.Font.Color:=$02330000;
       Canvas.FillRect(rect);
       Canvas.TextOut(rect.Left+2,rect.Top+2,field.AsString);
    end;
    If State=[gdSelected] then begin
      Canvas.Brush.Color:=$02445511;
      Canvas.Font.Color:=clWhite;
    end;
  end; 
 Dbgrid1.DefaultDrewDataCall(Rect,Column.Field,State);


end;
最后把Dbgrid的DfaultDrawing属性设置为false就可以了.
你看一下效果是不是你想要的,依此你可以去写其它为条件的代码. 

----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS