Last Updated: 30 Mar 2021 10:30 by ADMIN

Bug report

When the Kendo UI Grid is configured to have endless scrolling and an item is updated on the first page, the scrollbar is reset. If an update is done on a page after the first one, the scroll is correctly persisted.

Reproduction of the problem

1. Set a grid with an endless scroll.

2. Scroll down (without entering the second page).

3. Update an item on the first page.

4. The scroll is reset.

Dojo sample for reference:



* **Kendo UI version:** 2021.1.330
* **jQuery version:** 1.12.4
* **Browser:** [all]

Last Updated: 18 Feb 2021 11:38 by ADMIN
Created by: Developer
Comments: 0
Category: Grid
Type: Bug Report

A recent update has revealed some strange behaviour in some (not all) grids. In the attached screenshot, the javascript for the two buttons is on display inside the toolbar. If I move them out of the toolbar, the script no longer displays.

As a workaround, I have added this to CSS:

script {
	display: none !important;

Last Updated: 16 Feb 2021 10:50 by ADMIN
Created by: Abdurrahman
Comments: 3
Category: Grid
Type: Feature Request
Features like gridcolumnsetting (Asp.net mvc) multicheckbox, search cannot be activated. We want these features to be added in the new version.
Last Updated: 04 Feb 2021 17:02 by ADMIN
Created by: Hanh
Comments: 2
Category: Grid
Type: Feature Request

I'd like to request to be able to merge cells and column filters with the built-in API for the Kendo UI Grid.

Last Updated: 04 Feb 2021 16:59 by ADMIN

When the page first loads, everything looks okay...


But if I show a hidden column...


Here's what happens...

The newly shown column is circled in blue. The problem, as you can see, is that the position of the column circled in red should actually be swapped with the column to the left of it. And column #2 (ordering from left to right in the picture, starting from #1) now has an incorrect parent header ("Average") - it should be "Total". And column #4 (the one circled in red), "Constrained", should have a parent header of "Average" (that gray one in column #2).


And just FYI, if I show another column (which should also be under "Session Time [minutes]")...


...then here's what we get...

(Newly shown column circled in blue.)


But, you can see that the data columns are placed correctly. Just not the headers.

Last Updated: 04 Feb 2021 16:55 by ADMIN



I'd like to request the ability to sort on multiple columns of a grid, allow unsorting a column, but the grid must have at least one columns sorted.


An exception is thrown when calling `ToDataSourceResult` from the `Kendo.DynamicLinq` library if there are no columns sorted:

System.NotSupportedException: The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must be called before the method 'Skip'


Thank you.

Last Updated: 22 Jan 2021 15:39 by ADMIN
Created by: Dave
Comments: 6
Category: Grid
Type: Feature Request



I think there is a bug with the DataTimeOffset field when used in a Grid. It cannot display correctly and is showing something like /Date(1364927400000)/. I have to retrieve my data from database as DateTimeOffset format and then use a new ViewModel to convert the DateTimeOffset values to DateTime values. This is really annoying.


Could you let me know if there is a way a DateTimeOffset field can be supported in the grid? Sometimes you do have to display the time zone info.


I hope this can be fixed in a future release.




Last Updated: 22 Jan 2021 12:33 by ADMIN
Created by: Imported User
Comments: 2
Category: Grid
Type: Feature Request
Please implement native DateTimeOffset support to the filtering and sorting in the MVC Kendo grid.
Last Updated: 21 Jan 2021 07:15 by ADMIN

Bug report
Error is thrown when using Kendo HTML Editor Control in Kendo Grid Popup EditorTemplate in IE only

Reproduction of the problem
Place Kendo editor in Grid popup template
    .DataSource(dataSource => dataSource
        .Model(model => model.Id(m => m.PersonID))
            .Read(read => read.Action("GetPersons", "Home"))
            .Update(up => up.Action("UpdatePerson", "Home"))

    .Columns(columns =>
        columns.Bound(c => c.PersonID).Width(200);
        columns.Bound(c => c.Name);
        columns.Bound(c => c.BirthDate).Format("{0:g}");
        columns.Command(cmd => cmd.Edit());

    .Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("Person"))
            @(Html.Kendo().EditorFor(model => model.Text))

1. Run and open in IE

2. Click edit, make a change in the popup and Save

2. Click again on Edit


Expected/desired behavior
No error is thrown

Kendo UI version: 2020.3.118

Last Updated: 20 Jan 2021 12:29 by ADMIN

I'm trying to create a kendo grid inside of a kendo splitter in ASP.Net MVC. My problem is the pager info (i.e. "1 of 20 items") is not displayed on load. If the splitter is moved or a button inside of the splitter is pressed the grid resizes and the pager is displayed correctly. When there are more than 10 pages and the pager numbers and pager info size change to accommodate more digits the pager wrapper is not drawn correctly every time when changing pages.  This issue seems to only be present when the grid has a toolbar

I have tried using the dataBound event to resize the grid elements, but the pager div is not computed yet. I also tried applying a flex box to the pager wrapper and that did not change anything. I added a size to the splitter and it fixed the issue when set to 400px. But when set to something like 33% the issue persists. I need the splitter pane to be bigger than 400px on load so that fix does not work. 

I replicated the issue in this dojo: https://dojo.telerik.com/URIbinEY/12. The issue appears when in fullscreen mode on a 1920x1080 monitor. I have attached screen shots from my application showing the issue while navigating with the pager. paging 1.png shows the initial load fixed using a flex-box. paging 2.png shows navigating to the second page. The pager info is resized and moved off screen. paging 1.2 shows navigating back to page 1. There is a white space left at the bottom. Paging 3 shows the end of the pages. Paging 4 shows clicking the "..." to the previous paging page and the pager info being hidden. Paging inspected shows that the pager info is in the DOM, but resized off the screen when the toolbar is drawn. 

The expected result should show the pager info on load and the grid should fill 100% of the splitter pane. The pager info should be adjusted when navigating to another page in the pager to always be displayed. 

Any help with this issue will be much appreciated. Thanks!

Last Updated: 20 Jan 2021 12:27 by ADMIN

When I use a grid, I can enable Filterable and the column shows me when I am filtering it; however if I enable ColumnMenu I have no indication if I am filtering on that column.  We've used a work around to handle this state ourselves, but its ugly and I think this should be part of the core product.

  .Columns(columns =>
  columns.Template(@<text></text>).Width(50).Title("PDFs").ClientTemplate($"<a href='javascript:" + jsPage + $".openDocumentWindow(#=AccountId#, #=OrderNumber#, #=OrderLineId#, #=OrderLineNumber#)'><img src={Url.Content("~/Content/images/pdficon_small.png")} /></a>");
  columns.Bound(m => m.CustomerName).Width(200).Title("Customer").HeaderTemplate("Customer <span style='float:center' class='k-icon k-i-filter'></span>").Filterable(f => f.Multi(true).Search(true)).Sortable(true);
  columns.Bound(m => m.PurchaseOrderNumber).Width(100).Title("PO").HeaderTemplate("PO <span style='float:center' class='k-icon k-i-filter'></span>").Filterable(f => f.Multi(true).Search(true)).Sortable(true);
  .HtmlAttributes(new { style = "font-size:0.85em;" })
  .Reorderable(reorder => reorder.Columns(true))
  .Resizable(r => r.Columns(true))
  .Scrollable(s => s.Height(340))
  .Pageable(pageable => pageable
  .PageSizes(new [] { 25, 250, 2500 })
  .Sortable(sortable => sortable
  .DataSource(dataSource => dataSource
  .Read(read => read.Url("/api/shipments").Data(jsPage + ".getParameters"))
  .Events(events => events
  .Error(jsPage + ".GridService.onError")
  .RequestStart(jsPage + ".GridService.onRequestStart")
  .RequestEnd(jsPage + ".GridService.onRequestEnd")
  .Events(events => events.DataBound(jsPage + ".onDataBound"))

Last Updated: 20 Jan 2021 12:18 by ADMIN
Created by: Vinay
Comments: 1
Category: Grid
Type: Feature Request

Hi Viktor,


We are looking for functionality of Context Menu on Columns of Kendo MVC grid.

We want various column selection on grid header.

Please help us to get this feature.





Last Updated: 20 Jan 2021 12:14 by ADMIN
Created by: Prashanth
Comments: 0
Category: Grid
Type: Bug Report

The issue is present only when a field in the model has been updated. When an invalid value is attempted to be saved, the validation is triggered. Upon pressing the Esc key, the dirty indicator should not be shown.

The expected behavior would be to not show the dirty indicator at all as the value has been returned to the initial one. Furthermore, the indicator is not positioned in the left top corner but immediately above the value.

Steps to replicate:

1. Change the value of any field.

2. Navigate to a field which has validation.

3. Set an invalid value in order to trigger the validation, respectively show a validation message.

4. Press Esc to undo the change.

5. The dirty indicator is shown and mispositioned.

Dojo sample:


Short video demonstration:


Last Updated: 20 Jan 2021 12:10 by ADMIN
Created by: Manu
Comments: 1
Category: Grid
Type: Bug Report


since I updated Telerik UI for ASP.net MVC from version 2019.1.220 to 2019.2.514, the paging part of the grid doesn't display as expected in IE11 with compatibility with IE9  (<meta http-equiv="x-ua-compatible" content="IE=9">)

If I remove the compatibility with IE9, it's ok, but I need it to support older computer.  

version 2019.1.220: 

version 2019.2.514:


 Is there a solution to display it correctly?

Thank you very much and best regards.


Emmanuel Tharin

Last Updated: 20 Jan 2021 12:07 by ADMIN
When using data attributes on a viewmodel for a grid popup editor:
1. Provide input that causes a validation error message to appear
2. Correct the error with new input, do not blur the final field
3. Click save.
4. Instead of validating the data and submitting, only validation occurs
Last Updated: 13 Jan 2021 08:57 by ADMIN

I was try to upgrade Telerik UI for Asp.Net to 2020.2.513 form 2019.3.1023 ,but after I done the upgrade , 

the checkbox in the grid was disappeared with nothing change in my code.

I use the simple function columns.Select(), it seems the <label for='xxx#' class='k-checkbox-label k-no-text'></label>  no been build.

Is there anything I need to do after upgrade ?

Last Updated: 13 Jan 2021 08:53 by ADMIN


I might have found another bug.


The "Change" Event isn't triggered for checkboxes if GroupPaging is set to true.

If it's disabled, the event gets caught as expected.



                   .Columns(c =>
                       c.Bound(x => x.Id).Hidden();
                       c.Bound(x => x.ArticleNo);
                   .Events(x =>
                   .Scrollable(s => s.Virtual(true))
                   .DataSource(dataSource => dataSource
                                   .Group(x => x.Add(y => y.ArticleGroup))
                                   .Read("GridRead_Whitelist", "Plot", new {plotId = Model})
                                   .Model(m =>
                                       m.Id(f => f.Id);
                                       m.Field(f => f.ArticleNo);
                                       m.Field(f => f.ArticleGroup);
                                       m.Field(f => f.IsChecked);




Last Updated: 11 Jan 2021 15:23 by ADMIN
Support for NullDisplayText property of the DisplayFormat metadata attribute.
Last Updated: 11 Jan 2021 14:34 by ADMIN

Good Day,

I have a custom CSS CLASS that renders the background-color of the grids TABLE ROW to 'yellow'.  

  • tr.background-color-yellow td { background-color: #FFFFCC; }

For example...the above CSS CLASS would 'color' the backgrounds of a TR's set of TD's.

<!-- Here is an example of the initial HTML containing the custom CSS CLASS  -->
<tr data-uid="7044a8d8-2946-43f4-9f94-01bff52d2800" role="row" class="background-color-yellow">
<td role="gridcell">11</td> <td role="gridcell">1111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td class="k-command-cell" role="gridcell"> <a role="button" class="k-button k-button-icontext k-grid-edit" href="#"> <span class="k-icon k-i-edit"></span>Edit </a> <a role="button" class="k-button k-button-icontext k-grid-delete" href="#"> <span class="k-icon k-i-close"></span>Delete </a> </td> </tr>

When using inline-editing on the grid...pressing the CANCEL button wipes-out & replaces any-and-all custom CSS tags in the TR.

<!-- Here is an example of the initial HTML AFTER PRESSING CANCEL...notice the custom CSS CLASS is gone -->
<tr data-uid="7044a8d8-2946-43f4-9f94-01bff52d2800" role="row">
<td role="gridcell">11</td> <td role="gridcell">1111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td class="k-command-cell" role="gridcell"> <a role="button" class="k-button k-button-icontext k-grid-edit" href="#"> <span class="k-icon k-i-edit"></span>Edit </a> <a role="button" class="k-button k-button-icontext k-grid-delete" href="#"> <span class="k-icon k-i-close"></span>Delete </a> </td> </tr>

This bug causes the following kinds of work-around...which I feel is unacceptable.

this.on = {
	cancel: {
		grid: function (e) {

			var isTemplatedRow = e.model.IsTemplatedRow;
			if (isTemplatedRow === false) {

				// HACK: Kendo overwrites the (tr) rows ENTIRE SET of CSS CLASSES after a 'cancel' is triggered
				var uid = e.container.data().uid;
				var $context = $(e.container.context);
				setTimeout(function () {

					// Add the expected class back-in
					var $ele = $('tr[data-uid=' + uid + ']', $context)
				}, 400);


Last Updated: 11 Jan 2021 14:31 by ADMIN
Release 2019.R2.SP1
Created by: Karim
Comments: 1
Category: Grid
Type: Feature Request

JWT Token authentication has become very popular and one of the main tools to provide authorization and authentication.
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. In authentication, when the user successfully logs in using their credentials, a JSON Web Token will be returned. 

Whenever the user wants to access a protected route or resource, the user agent should send the JWT, typically in the Authorization header using the Bearer schema. This can be, in certain cases, a stateless authorization mechanism. The server's protected routes will check for a valid JWT in the Authorization header, and if it's present, the user will be allowed to access protected resources. If the JWT contains the necessary data, the need to query the database for certain operations may be reduced, though this may not always be the case.

It would be really helpful to have a built in functionaly ".Authorization(token)" that adds an authorization header to all the requests made by the grid.

1 2 3