/ / GridX definir classe para linha (com base em dados de linha) - javascript, dojo, dojo.gridx

GridX set class for row (baseado em dados de linha) - javascript, dojo, dojo.gridx

É possível para o GridX definir a classe para o dado linha, com base nos dados dessa linha?

Gostaria de mostrar com uma cor especial as linhas que foram adicionadas ou alteradas. Essas informações serão armazenadas no objeto como um campo especial.

Por enquanto, descobri apenas como individualizar a renderização de células (usando decorador ou substituindo setCellValue).

Respostas:

2 para resposta № 1

Acho que encontrei a resposta aqui

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

A célula 7 é verificada para o valor "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";
}
});

ou se as células vazias não ficarem coloridas:

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";
}
}

}
});

Porque dojo.connect é antigo e um pouco? descontinuada. Use aspect.after:

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);