Я использую Dojo 1.10, имею простой dojox.grid.DataGrid и хочу изменить цвет фона, а также цвет шрифта на основе данных.Как установить цвет фона строки в сетке dojo динамически
Я написал функцию onStyleRow myStyleRow (строка) { var item = grid.getItem (row.index); если (! Item) возвращение;
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, что это было потому, что я использую тему кларо в теге тела, в которой есть параметр фонового изображения в файле claroGrid.css, например. .claro .dojoxGridRowTable tr { \t background: url ("images/row_back.png") #fff repeat-x; } После того, как я удалю этот, он начал работать. Я вышел из css, я думаю, что есть лучший способ переопределить этот css, но не знаю ... – JohnZhang