extjs grid 整行变颜色_ExtJS Grid 改变单元格背景颜色的方法-阿里云开发者社区

第一种情况:加载数据时改变列的颜色首先定义一个样式如下(这里以红色背景为例):.x-grid-back-red {background: #FF0000;}定义改变颜色的列:{header:'摘要',dataIndex:'zhaoyao',align:'left',width:150,renderer : function(v,m){m.css='x-grid-back-red';return v;}}效果图如下:

第二种情况:加载数据完成后改变行的颜色首先要解决的一个问题是如果判断数据已经加载完毕,最简单的方法是给grid的store添加onload事件。如果你想有条件地改变某行的背景颜色,则还需要遍历gird的store,这里有个简单的方法即store的each方法。看下面这个例子:grid.getStore().on('load',function(s,records){var girdcount=0;s.each(function(r){if(r.get('zy')=='本期合计'){grid.getView().getRow(girdcount).style.backgroundColor='#FFFF00';}else if(r.get('zy')=='本年累计'){grid.getView().getRow(girdcount).style.backgroundColor='#FF1493';}else if(r.get('zy')=='期初余额'){grid.getView().getRow(girdcount).style.backgroundColor='#DCDCDC';}girdcount=girdcount+1;});});效果图如下:

第三种情况:使用Ext本身的颜色渲染效果暂时只发现Ext已经设计好的一种效果:单双行背景颜色不同。很简单,在grid中配置stripeRows为true即可!另外,如果想使用自己定义的行的背景颜色,那就去修改ext-all.css吧,提供几个:-----------在ext-all.css修改代码如下---------.x-grid3-row {border-color:#ffaaee;//改变grid边框颜色border-top-color:#fff;}.x-grid3-row-alt{background-color:#ddeeaa;//改变 行的颜色}.x-grid3-row-over {border-color:#ddd;background-color:#ee1166;//鼠标移上去改变行的底色background-image:url(../images/default/grid/row-over.gif);}//修改GRID某一行样式 grid.getView().addRowClass(r,css)

//修改grid某一单元格样式 Ext.get(grid.getView().getCell(r,c)).addClass(css) 或 grid.getView().getRow(r).style.backgroundColor="red"; //css样式为自定义样式

本文转自yunlielai51CTO博客,原文链接:http://blog.51cto.com/4925054/1281107,如需转载请自行联系原作者

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值