`
peteronline
  • 浏览: 262238 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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样式为自定义样式

分享到:
评论
2 楼 cqhydz 2010-05-10  
问一下效果图的问题,就你示例中的第二种情况哪个图,你小计与合计是是直接向Store增加行,我现在就是这样做的,但这样做一个不方便的地方就是加了后有时我又想使用extjs Store 的合计函数这样就会很不方便。问一下老大使用的什么巧妙的方式来屏蔽这个问题。
1 楼 cqhydz 2010-05-10  
/不错

相关推荐

    EXTJS单元格变色、行变色

    这个函数将单元格的背景颜色根据cell的值进行改变。 fnColumnColor函数将value值转换为整数,然后根据其值来决定单元格的背景颜色。如果value小于或等于80,则背景颜色为红色;如果value大于80且小于100,则背景...

    ExtJS4 Grid改变单元格背景颜色及Column render学习

    总结起来,本例展示了ExtJS4 Grid中如何利用Column的`renderer`函数来改变单元格的背景颜色。通过这个功能,开发者可以轻松地创建出符合业务需求的美观且实用的数据展示界面。在实际开发中,`renderer`是实现数据...

    extjs grid设置某列背景颜色和字体颜色的实现方法

    这里直接在列配置中定义了CSS样式,使得该列的所有单元格背景颜色都为红色。 对于改变整行的颜色,我们可以利用EXTJS的`getRowClass`方法。这个方法允许我们在每一行渲染时动态地返回一个CSS类。例如: ```...

    extjs grid设置某列背景颜色和字体颜色的方法

    以下就是EXTJS Grid设置某列背景颜色和字体颜色的方法。 1. **设置列背景颜色**: 我们可以通过`renderer`函数来实现这一功能。`renderer`是一个在数据渲染到单元格之前被调用的回调函数,它允许我们对数据显示...

    修改grid行或列颜色

    2. **列颜色修改**:通过 `ColumnModel` 的 `renderer` 属性指定自定义渲染器,可以在单元格级别上设置背景颜色。 3. **灵活性与可扩展性**:这种方式不仅可以让Grid更具可读性,而且易于维护和扩展。比如可以通过...

    extjs 04_grid 单击事件新发现

    此外,我们还可以直接通过Grid的`getView()`方法来改变单元格的样式,例如在单元格被点击后更改其背景色和字体颜色: ```javascript grid.getView().getCell(rowIndex, columnIndex).style.backgroundColor = "#FF...

    Extjs改变表格的颜色

    在给定的信息中,我们看到两种方法来实现这个功能:一种是根据单元格的值来改变颜色,另一种是根据行的特定条件来改变整行的颜色。 首先,我们来看如何根据单元格的值来改变颜色。这主要通过`renderer`函数实现,这...

    改变gridpanel的行颜色

    当数据被加载到GridPanel中时,我们可以通过定义特定的CSS类并结合renderer函数来改变特定列的背景颜色。以下是一个示例: ```javascript // 定义一个样式(以红色背景为例) .x-grid-back-red { background: #FF...

    extjs 列表基本操作

    在回调函数中,我们可以检查每一行的数据,如果满足特定条件,就使用CSS样式来改变行的背景颜色。例如,可以使用`Ext.util.CSS.createClass`创建新的CSS类,并在满足条件的行上应用这个类。 三、列表动态获取列 ...

    Extjs根据条件设置表格某行背景色示例

    而Extjs在展示表格数据时,可以进行高度的定制化处理,例如根据特定条件来改变表格某一行的背景色。 要实现这样的效果,可以通过Extjs的渲染器(Renderer)功能来实现。渲染器实际上是一个函数,它根据传入的数据...

    ExtJS下grid的一些属性说明

    例如,可以改变边框颜色、选中行的颜色以及鼠标悬停时的行颜色等。 - **选中行的颜色**:通过CSS选择器 `.x-grid3-row-selected` 可以修改选中行的背景色,例如: ```css .x-grid3-row-selected { background: ...

    ExtAspNet_v2.3.2_dll

    -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性...

    用tip解决Ext列宽度不够的问题

    例如,你可以使用以下代码改变提示框的背景颜色: ```javascript Ext.tip.QuickTipManager.register({ style: 'background-color: #f0f0f0;' }); ``` 总的来说,利用ExtJS的QuickTips特性,我们可以优雅地解决列...

Global site tag (gtag.js) - Google Analytics