更改网格extjs3中的记录边框颜色

时间:2016-01-30 12:55:13

标签: javascript extjs extjs3

我有一个网格,用于显示数据库中表格的记录。在此表中,我有一个名为“STATUS”的字段,其值为“ON”或“OFF”。我想要做的是如果值为ON则在网格中给记录边框颜色为绿色,如果值为OFF,则为红色边框颜色。我在更改extjs-all.css中的CSS时尝试了诸如getRowClass方法之类的所有内容。但是我没有成功。我真的很感激一些帮助。

 grid = new Ext.grid.GridPanel({
                        id:'users_gridpanel',
                        region:'center',
                        loadMask: {msg:"${tr.Loading}..."},
                        store: gridStore,
                        tbar:tlb,
                        cm: colModel,
                        stripeRows: true,
                        sm: _selctionModel,
                        plugins: [filters],
                        bbar:paging,
                        viewConfig:
                        {
                            forceFit: true,
                            headersDisabled:false
                        },


                    });

2 个答案:

答案 0 :(得分:0)

您有网格的列模型,在列模型状态列中为此添加渲染器方法,并在html的div标记中添​​加值

renderer:function(val,b,c,d,e,f){
           if(val==ON){
              return "<div add color property here for div >"+val+"</div>"
             }else{
              return "<div add color property here for div >"+val+"</div>"
             }

        }

答案 1 :(得分:0)

也许不希望你确切需要但是我已经在列中使用渲染器功能做了类似的事情,也许你也可以使用它?

这是我的代码:

 columns: [
   {header: "Color", dataIndex: "COLOR", width:100,
     renderer: 
       function(value, metaData, record, rowIndex, colIndex, store){
           if(value =='ON')
                metaData.style = "background-color: rgb(255,255,255);";
           else
                metaData.style = "background-color: rgb(0,0,0);"
         return "";
       }                                        
  },

您可以尝试使用border-color代替background-color

希望这有帮助