【问题标题】:How to set row background color in dojo grid dynamically如何动态设置道场网格中的行背景颜色
【发布时间】:2015-06-22 11:29:14
【问题描述】:

我正在使用 Dojo 1.10,有一个简单的 dojox.grid.DataGrid,并且想根据数据更改背景颜色和字体颜色。

我写了一个 onStyleRow 功能我的风格行(行){ var item = grid.getItem(row.index); 如果(!项目) 返回;

var mappingFlag = store.getValue(item, "flag", null);
var mappingId = store.getValue(item, "matched_mapping_id", null);

if(mappingFlag == 0){
    row.customStyles += " color:black;";
}else if(mappingFlag == 1){
    row.customStyles += " color:gray;";
}else if(mappingFlag == 2){
    row.customStyles += " color:red;";
}else if(mappingFlag == 3){
    if(mappingId == currentMappingId){
        row.customStyles += " color:blue; background-color:#fff000;";
    }else{                
        row.customStyles += " color:blue; background-color:#ffffff;"; 
    }
}

grid.focus.styleRow(row);
grid.edit.styleRow(row);

}

让我陷入混乱的是字体颜色(蓝色/红色/灰色)设置和显示都很好,但是背景颜色没有任何效果......

我的代码有什么问题?如何更改行背景颜色?

非常感谢!

【问题讨论】:

  • 昨晚我在firebug中发现是因为我在body标签中使用了claro主题,在claroGrid.css中有背景图片设置,例如.claro .dojoxGridRowTable tr { background:url("images/row_back.png") #fff repeat-x;在我删除这个之后,它开始工作了。我对css很陌生,我认为有更好的方法来覆盖这个css,但不知道......

标签: datagrid dojo background-color


【解决方案1】:

这里有几个文档可以帮助你:

Dojo 数据网格 - 第 32 部分:根据行数据设置行颜色:

http://xcellerant.net/2013/11/20/dojo-data-grid-30-setting-row-color-dynamically/

和....

Dojo 数据网格 - 第 34 部分:根据数据自定义单元格样式:

http://xcellerant.net/2014/01/15/dojo-data-grid-part-34-customizing-cell-styles-based-on-data/

【讨论】:

    【解决方案2】:

    首先,将dojoxGridRowbackground-color 覆盖为transparent。然后,通过设置grid.getRowNode(rowIndex).runtimeStyle.backgroundColor = color将行的背景颜色设置为您想要的颜色

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2013-11-23
      • 1970-01-01
      相关资源
      最近更新 更多