【问题标题】:Background color does not change after assigning color code in getRowClass at viewConfig property在 viewConfig 属性的 getRowClass 中分配颜色代码后,背景颜色不会改变
【发布时间】:2016-02-11 13:08:47
【问题描述】:

这里是 JavaScript,我在其中为那些在 BusinessObject 列和 CustomTable 列中包含不同数据的字段设置背景颜色。

projectgrid= new Ext.grid.GridPanel
     ({
         id:projectgrid,
         cm : projectInfoFieldsCM,
         store: inlineGridStore,
         stripeRows: true,
         autoScroll:true,
         width:550,
         height:500,
         bodyCssClass : 'customInlineGridCSS',
         viewConfig: 
         {
            forceFit: false,
            autoFill : false,
            deferEmptyText : false,
            emptyText : '<div align="center"><span style="font-size: 9pt; font-weight: normal">No record available</span></span></div>',
            getRowClass: function(record, index, rowParams, store) {
                if(record.get('BusinessObject')!=record.get('CustomTable')){
                     return 'gender-male';
                }
            }
         }
      });

这里是 css 文件,我在其中指定了颜色编码。 注意:我尝试了在 css 文件中声明的两个 ID。

             .data-row-light-red
            {
            background-color: #ff0000 !important ;
            }

            .gender-male .ID {
                background-color: #088da5;
            }

我做错了什么,因为我之前已经实现了这个功能,但我被困在这个功能中了吗?

【问题讨论】:

  • .gender-male .ID .ID 这里是什么?我只用.gender-male 尝试了这段代码,一切正常,整个网格行的背景颜色发生了变化。

标签: javascript extjs extjs3


【解决方案1】:

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

这是我的代码:

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

希望对你有帮助

【讨论】:

    【解决方案2】:

    您需要使用逗号分隔类选择器

    试试这个

    .gender-male, .ID
    {
       background-color: #088da5;
    }
    

    或者

    .gender-male
    {
       background-color: #088da5;
    }
    

    如果你在任何地方都不需要 ID 类

    【讨论】:

    • 上述查询中存在 CSS 问题。当您对选择器进行分组时,您需要用逗号分隔每个选择器。这就是为什么我建议在“.gender-male”和“.Id”之间使用逗号。这就是您如何让 ExtJs viewConfig 对象访问“.gender-male”类的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2014-04-21
    • 2021-01-23
    • 2011-06-15
    • 2013-03-19
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多