Чи можливо для GridX встановити клас для даного рядок, на основі даних у цьому рядку?
Я хотів би показати спеціальним кольором рядки, які були додані або змінені, ця інформація буде збережена в об'єкті як спеціальне поле.
Наразі я знайшов тільки, як індивідуалізувати рендеринг клітини (за допомогою декоратора або перезапису setCellValue
)
Відповіді:
2 для відповіді № 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);