Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用行索引更改剑道网格行的背景色_Javascript_Kendo Ui_Kendo Grid - Fatal编程技术网

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");
}
希望这对您有所帮助:)