如何改变背景颜色的剑道网格行使用行索引

how to change background color of kendo grids row using the row index

本文关键字:网格 索引 颜色 何改变 改变 背景      更新时间:2023-09-26

我需要通过使用它的索引号来改变剑道网格行的颜色。我试着用这个,但是什么也没发生。

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

在调试器中不抛出任何错误,但不给出任何结果。

您需要通过索引查找行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");
}

希望对你有帮助

鉴于kendo没有提供直接控制单行背景颜色的选项(据我所知)。但是您必须在表呈现之后应用新颜色,并且您可能还需要在每次刷新表之后应用它(kendo应该为此抛出事件)。一旦kendo完成绘制,抓取页面中的table元素,默认情况下kendo给它一个class="k-grid-content"。如果使用jquery,它看起来会像这样

var differentRowElement = $('.k-grid-content').find('tr').eq(index).css('background-color', 'red');

在http://demos.telerik.com/kendo-ui/grid/index上测试,在控制台中运行

$('.k-grid-content').find('tr').eq(3).css('background-color', 'red');