我正在使用 Kendo UI;特别是网格组件。有没有人知道一种技术可以让我根据行中的数据设置行的样式?
例如,如果其中一列的值为负数,我会用红色文本设置该行的样式。
我对如何自己做一些想法,但我希望有人已经解决了这个问题。
我正在使用 Kendo UI;特别是网格组件。有没有人知道一种技术可以让我根据行中的数据设置行的样式?
例如,如果其中一列的值为负数,我会用红色文本设置该行的样式。
我对如何自己做一些想法,但我希望有人已经解决了这个问题。
只需用 JavaScript 读取值即可。然后根据值是负数、零还是正数,或者根本不是数字,您可以设置不同的样式。
以下代码是最终解决方案:
var ApplyTestStyles = function () {
//Get a reference to our data grid
var grid = $("#grid").data("kendoGrid");
//Get grid data
var gridData = grid._data;
//iterate the data items based on data length
for (var i = 0; i < gridData.length; i++) {
//grab the current grid data item
var current = gridData[i];
//the css selector used to find the given data items html table row
var rowSelector = ">tr:nth-child(" + (i + 1) + ")";
//Grab a reference to the corrosponding data row
var row = grid.tbody.find(rowSelector);
//apply criteria based styles
//TODO: refactor this logic into criteria based style providersf
if (current.Nav <= 670) {
row.addClass("Negative");
}
else if (current.Nav >= 670) {
row.addClass("Positive");
}
}
};
我最终迭代了数据发布页面加载,然后应用了特定的样式。