Как я могу получить выбранную строку в Kendo Grid с помощью jQuery

#javascript #jquery #kendo-grid #kendo-asp.net-mvc

#javascript #jquery #kendo-grid #kendo-asp.net-mvc

Вопрос:

У меня есть следующий код jQuery, который работает для получения значения первой строки, но не выбранной строки:

 function setStandardName() {
        var grid = $("#BillingsGrid").data("kendoGrid");
        var dataItem = grid.dataItem("tbody tr:eq(0)");       
        dataItem.set("Name", "new value");
        console.log(dataItem.Name); 
    };
  

Он находит значение первой строки, но мне нужно получить значение выбранной строки

Я попробовал это:

 function setStandardName() {
        var grid = $("#BillingsGrid").data("kendoGrid");
        var dataItem = grid.dataItem($(this).closest("tr"));       
        dataItem.set("Name", "new value");
        console.log(dataItem.Name); 
    };
  

Ошибка неперехваченного типа: не удается прочитать свойство ‘set’, равное нулю в этой строке dataItem.set("Name", "new value");

Ответ №1:

попробуйте так.

 $('.clickedSomething').click(function() {
    var grid = $("#BillingsGrid").data("kendoGrid");
    var dataItem = grid.dataItem($(this).closest("tr"));       
    dataItem.set("Name", "new value");
    console.log(dataItem.Name); 
};
  

Ответ №2:

вы можете получить выбранную строку и значение каждой ее ячейки, как в этом примере:

 var gridDataArray = $('#Grid').data('kendoGrid')._data;          
var selectedslug = gridDataArray[grid.select().index()]['Slug'];
  

и вы можете выполнить цикл в этом массиве для всех строк данных с помощью оператора foreach