Класс набора GridX для строки (на основе данных строки)

Может ли GridX установить класс для заданной строки на основе данных в этой строке?

Я хотел бы показать специальным цветом строки, которые были добавлены или изменены. Эта информация будет храниться в объекте в виде специального поля.

На данный момент я нашел только, как индивидуализировать отрисовку ячеек (используя декоратор, или перезаписывая setCellValue).


person Danubian Sailor    schedule 28.07.2014    source источник


Ответы (1)


кажется, я нашел ответ здесь

http://dojo-toolkit.33424.n3.nabble.com/formatter-o-decoration-in-GridX-td4000793.html

Ячейка 7 проверяется на значение «ok».

dojo.connect(grid.body, 'onAfterRow', function(row){
    var r = row.data();
    if(r[6] !== 'ok'){
        domClass.remove(row.node(), "gridxRowOdd");
        row.node().style.backgroundColor = 'red';
    }
});

или если пустые ячейки не должны окрашиваться:

dojo.connect(grid.body, 'onAfterRow', function(row){ 
var r = row.data(); 
var node = row.node(); 
if(r[6] !== 'ok'){ 
    var cells = dojo.query('.gridxCell', node); 
    var c = cells.length; 

    for(var i = 0; i < c; i++){ 
        cells[i].style.backgroundColor = 'red'; 
    } 
} 

} 
});

Потому что dojo.connect устарел и несколько? устарел. Используйте аспект.после:

aspect.after(grid.body, 'onAfterRow', lang.hitch(this, function (row) {
var item = row.rawData();
if (item[6] !== '') {
   domClass.remove(row.node(), "gridxRowOdd");
   row.node().style.backgroundColor = 'red';
}
}), true);
person Air2    schedule 18.09.2014