É 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 № 1Acho 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);