Javascript 如何使用行索引更改剑道网格行的背景色
我需要更改剑道网格行的颜色,使用它的索引号。 我试着用这个,但什么也没发生Javascript 如何使用行索引更改剑道网格行的背景色,javascript,kendo-ui,kendo-grid,Javascript,Kendo Ui,Kendo Grid,我需要更改剑道网格行的颜色,使用它的索引号。 我试着用这个,但什么也没发生 var gview = $('#SearchResult').data().kendoGrid;//searchresult is grid's id var dataRows = gview.items(); var rowIndex = dataRows.index(gview.select()); gview.tbody.find("tr:eq("+r
var gview = $('#SearchResult').data().kendoGrid;//searchresult is grid's id
var dataRows = gview.items();
var rowIndex = dataRows.index(gview.select());
gview.tbody.find("tr:eq("+rowIndex+")").css("background-color", "green");
它不会在调试器中抛出任何错误,但不会给出任何结果。因为kendo没有提供直接控制单行背景颜色的选项(据我所知)。但是,必须在呈现表之后应用新颜色,并且可能还需要在每次刷新表之后应用新颜色(剑道应该为此引发事件)。一旦剑道完成绘制,抓取页面中的table元素,默认情况下剑道给它一个class=“k-grid-content”。使用jquery,它看起来像这样
var differentRowElement = $('.k-grid-content').find('tr').eq(index).css('background-color', 'red');
在控制台中运行时对其进行了测试
$('.k-grid-content').find('tr').eq(3).css('background-color', 'red');
您需要通过其索引查找行的Uid,并通过其数据Uid查找tr,请检查下面的函数
function ChangeGridRowByIndex(index) {
var grid = $("#SearchResult").data("kendoGrid");
var gridData = grid.dataSource.view();
var currentUid = gridData[index].uid;
var currenRow = grid.table.find("tr[data-uid='" + currentUid + "']");
$(currenRow).addClass("red");
}
希望这对您有所帮助:)