如何动态设置dojo网格中的行背景颜色

时间:2015-04-16 07:37:14

标签: datagrid dojo background-color

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

我写了一篇onStyleRow function myStyleRow(row){    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);

}

让我感到困惑的是,字体颜色(蓝色/红色/灰色)设置和显示得很好,但背景颜色没有任何影响......

我的代码有什么问题?我怎么能改变行背景颜色?

非常感谢!

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

首先,将background-color的{​​{1}}覆盖为dojoxGridRow。然后,通过设置transparent

将行的背景颜色设置为您想要的颜色