When the editable option is disabled in the navigatable Grid and the user presses the 'Delete' button, the row is removed.
The row is removed, although the Grid is not editable.
The rows should not be removed in the non-editable Grid.
When using column virtualization in Kendo Grid, the save event returns an incorrect field name. After scrolling to virtualized columns, editing a cell displays the value from a different column.
An incorrect value is displayed in the cell:
The field in the save event is not correct; instead, Field48 is logged.
The correct field should be edited and returned in the save event when editing a Grid with virtual columns.
When sorting is enabled for a virtualized Grid, in some cases, after scrolling to the bottom, the Grid does not show enough items to fill the tnire table.
The Grid shows only the last page of items, while there are enough items to fill up the entire table
Enough items to fill the Grid height should be displayed. There should be no blank space without records.
Hello,
We would like to request this feature to expand on a Grid components Options.
Provide a built-in way for end-users to redefine or rename a Grid column's title directly through the user interface. Currently, if a user wants to change a column header from "Title1" to "Title2”, developers must write significant custom jQuery to modify the DOM or update the column via set options.
This is a functional request from our users, that we would like to provide for them.
Thanks,
John
Initializing a hidden-by-default Kendo Grid configured with stacked layout throws a JavaScript error during initialization - Uncaught TypeError: Cannot read properties of undefined (reading 'find')
No errors should be thrown when initializing a hidden stacked layout Grid.
We noticed this issue on our client application. It is especially prominent on a slower network connection. We have a batch edit Grid (in cell editing). We clicked Add to create a new row, added data to it, double-clicked the Save Changes button, refreshed the page, and noticed we had 2 new entries instead of just 1 in the grid. We are currently using v2025.4.1111.
To make sure that it was not something isolated to our specific version / setup, I went to the Kendo grid demo site (https://demos.telerik.com/kendo-ui/grid/editing ) to try and reproduce. At the time of writing this ticket, the Kendo site used the latest version available, v2026.2.520.
The following steps reproduce the issue reliably.
No row can be placed below row 5.
It should be possible to reorder and place a row at last possition
An error: kendo.grid.js:16278 Uncaught TypeError: Cannot read properties of undefined (reading 'field')
No error should be thrown. It should be possible to use detailedTemplate along with the stackedLayout
Hi team,
Please consider this dojo: https://dojo.telerik.com/zhQuuOhS
Here is the issue:
When validating field on the last line (field: units in stock), the validation tooltip is hidden (due to clipping), user needs to scroll down the grid.
Worse: if you then fill correctly the field and then re-empty the field, the validation tooltip is no more visible (no scrolling even possible in this case), please see screenshot attached.
Is there a way to make the validation tooltip immediately visible after validation takes place ? I mean without the need to scroll.
Best regards,
Laurent.
I am trying to change the menu option for a column from false to true and others from true to false when a user selects an item from a dropdown. This isn't working. I'm using getOptions(), changing the menu setting in each column, and then setOptions(options) to set it.
Here is a dojo showing an example. In the example, firstName and lastName are initially hidden. I simulate a user choosing last name from some sort of selector (like a dropdown box). The code should then hide both name columns and unhide the lastName column. Instead it hides both name columns.
It seems to have something to do with setting any of the name columns to hidden on initialization. If I remove this from the column settings on initialization though it only works once and when I choose a different option from the dropdown (dropdown is simulated in the dojo so you can't try this but trust me) it breaks.
<html>
<head>
<meta charset="utf-8">
<title>Untitled</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.1.412/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.1.412/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2022.1.412/styles/kendo.default.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2021.2.511/styles/kendo.mobile.all.min.css">
<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.2.511/js/angular.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.2.511/js/jszip.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2021.2.511/js/kendo.all.min.js"></script></head>
<body>
<div id="myGrid"></div>
<script>
let tableRows = [
{
ID: 1,
FirstName: "John",
LastName: "Smith",
Age: 21
},
{
ID: 2,
FirstName: "Jenny",
LastName: "Jones",
Age: 18
},
{
ID: 3,
FirstName: "Greg",
LastName: "Adams",
Age: 23
}
];
let tableColumns = [
{
title: "Employee ID",
field: "ID",
width: 100,
locked: true,
menu: false
},
{
title: "First Name",
field: "FirstName",
width: 150,
hidden: true,
attributes: { "class": "name" },
},
{
title: "Last Name",
field: "LastName",
hidden: true,
width: 150,
attributes: { "class": "name", "data-position": "last name" },
},
{
title: "Age",
field: "Age",
width: 100
}
];
var grid = $(`#myGrid`).kendoGrid({
dataSource: {
data: tableRows,
schema: {
model: {
id: "ID",
fields: { ID: {type: "number"}}
}
}
},
dataBound: function (e) {
if (e.sender.dataSource.view().length == 0) {
var colspan = e.sender.thead.find("th").length;
//insert empty row with colspan equal to the table header th count
var emptyRow = "<tr><td colspan='" + colspan + "'></td></tr>";
e.sender.tbody.html(emptyRow);
e.sender.table.width(800);
}
},
columns: tableColumns,
columnMenu: true,
sortable: true,
pageable: false
}).data("kendoGrid");
let options = grid.getOptions();
let columns = grid.columns;
let nameColumns = $(".name");
let lastNameColumn = $("[data-position='last name']");
let lockedColumnCount = 0;
for (var i = 0; i < columns.length; i++) {
if (columns[i].locked) {
lockedColumnCount++;
}
}
$.each(nameColumns, function (index, element) {
let elementIndex = $(element).index() + lockedColumnCount;
//kendoGrids[tableId].showColumn(elementIndex);
options.columns[elementIndex].menu = false;
options.columns[elementIndex].hidden = true;
});
// Let's pretend Last Name was chosen from a select box part of name to show.
$.each(lastNameColumn, function (index, element) {
let elementIndex = $(element).index() + lockedColumnCount;
options.columns[elementIndex].menu = true;
options.columns[elementIndex].hidden = false;
//kendoGrids[tableId].showColumn(elementIndex);
});
console.log(options);
grid.options = options;
grid.setOptions(options);
</script>
</body>
</html>