Duplicated
Last Updated: 25 Sep 2026 16:02 by ADMIN
Created by: John
Comments: 1
Category: Grid
Type: Bug Report
0
I have a field i am string filtering on.   This field had people's names in it.  One of our users is named "Jason Nulls".  When we searched for "contains" null, it crashed the ToDatasourceResult in the controller.  Comparing to a filter for a different user whose name starts with Barr, you can see the difference in the generated filters in this image.  
Won't Fix
Last Updated: 25 Sep 2026 15:40 by ADMIN
Created by: John
Comments: 6
Category: Grid
Type: Bug Report
0

We set up a grid that auto-filters a name field to "does not contain" and the value it excludes is "[DEACTIVATED]".  This column is also filtering out records that have a null in them if this filter is set.  I had to change the datasource to return an empty string instead.

 

Completed
Last Updated: 25 Sep 2026 15:34 by ADMIN
Created by: Developer
Comments: 1
Category: Grid
Type: Bug Report
1

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;
}

Completed
Last Updated: 25 Sep 2026 15:25 by ADMIN

Bug Report

When endless scrolling is implemented, manual DataSource operations using the DataSource APIs(query, page, sort, etc.) do not work as expected.  The endless scrolling settings are causing paging issues.  

Reproduction of the problem

  1. Visit this Kendo UI Dojo.
  2. Scroll to 40.
  3. Click the Reset Filter button.

Current Behavior

The first page is only accessible, and when scrolling down the reads continue to occur.

Expected/desired behavior

The endless scrolling settings should not interfere with manual dataSource operations.

Workarounds

  1. Solution when read is called, the Kendo UI Grid will reset to its original state(dojo). 
        kendo.ui.Pager.fn._refreshClick = function (e) {
            e.preventDefault();
            var grid = $("#grid").getKendoGrid();
            grid.dataSource.options.endless = null;
          	grid._endlessPageSize = 20;
          	grid.dataSource.pageSize(20);
        }
  2. Solution which overrides the data(dojo).
        kendo.ui.Pager.fn._refreshClick = function (e) {
            e.preventDefault();
            var grid = $("#grid").getKendoGrid();
            window.restoreScroll = true;
            window.scolledValue = grid.content[0].scrollTop;
            grid.dataSource._data.empty();
            grid.dataSource._pristineData = [];
            grid.dataSource.read();
        }

Environment

  • Kendo UI version: 2020.1.114
Declined
Last Updated: 25 Sep 2026 14:54 by ADMIN

Hello Telerik Support Team,

We are experiencing an issue with a Telerik MVC Grid where changing the page size results in multiple Ajax requests being sent to the server.

Environment

  • Telerik MVC Grid
  • ASP.NET MVC
  • Ajax Binding Enabled
  • Custom Binding Enabled

Current Behavior

When the user changes the page size (for example, from 5 to 50), multiple requests are sent to the grid's Ajax binding action.

Example:

  1. Grid displays 5 rows.
  2. User changes page size from 5 to 50.
  3. Multiple requests are observed in the browser Network tab.
  4. All requests target the same Ajax binding action.
  5. All requests return HTTP 200.

Expected Behavior

Changing the page size should trigger a single Ajax request to the server.The grid uses below code

.Pageable(pager => 
                pager.PageSize(Model.GridModel.PageSize, Model.GridModel.PageSizeSelections)
                .Position(GridPagerPosition.Bottom)
                .Style(GridPagerStyles.NextPreviousAndNumeric | GridPagerStyles.PageInput | GridPagerStyles.PageSizeDropDown))
    .NoRecordsTemplate(TMS.Resources.PositionManager.UI.NoOnboardingDocumentInstancesFoundMessage)
    .HtmlAttributes(new { width = "98%" })   

  1. Is multiple Ajax-request behavior during page-size changes a known Telerik MVC Grid issue or expected behavior?
  2. Are there Telerik recommendations to prevent duplicate Ajax requests when changing page size?
  3. Is there a built-in Telerik mechanism to ensure only a single Ajax request is sent for a page-size change?
  4. Could this be caused by Telerik internally triggering multiple rebind operations?
  5. Is there a Telerik-supported approach for preventing duplicate requests without introducing a custom client-side request lock?

We also found a Telerik forum post discussing similar behavior during page-size changes:

https://www.telerik.com/forums/multiple-requests-on-telerik-grid-page-size-change

Could you please confirm whether our observed behavior is related to the same issue and advise on the recommended solution?

Note:

This issue occurs in a legacy ASP.NET MVC application using Telerik Extensions for ASP.NET MVC version 2011.3.1306.340 running on .NET Framework (not .NET 6+).
 
Indicators:
- .ascx ViewUserControl views
- System.Web.Mvc
- Telerik MVC Extensions (legacy Telerik MVC Grid)

Thank you.

Completed
Last Updated: 25 Sep 2026 13:11 by ADMIN

When using template and no DataSource is set Grid NoRecords message is not rendered.

 

Reproduction of the problem

Define a 'No Records' with template similar to the following article example: https://docs.telerik.com/aspnet-mvc/html-helpers/data-management/grid/templates/no-records

 

@(Html.Kendo().Grid<Grid_Template.Controllers.GridModel>()
    .Name("Grid1")
    .NoRecords(n => n.Template("string HTML template, not centered"))
)

Current behavior

The default message for missing record is displayed: No records available.
"autoBind":false is applied to serialization

 

Expected/desired behavior

The message from the template is displayed: "string HTML template, not centered"

Workaround:
Add .DataSource(d => d.Ajax()) to the Grid configuration

 

 

@(Html.Kendo().Grid<Grid_Template.Controllers.GridModel>()
    .Name("Grid1")
    .NoRecords(n => n.Template("string HTML template, not centered"))
        .DataSource(d => d.Ajax())

)

 

https://github.com/telerik/kendo-ui-core/issues/6598

 

 

Declined
Last Updated: 25 Sep 2026 13:07 by ADMIN
Created by: Brandon
Comments: 1
Category: Grid
Type: Bug Report
0

Hi Team,

Bug Report

The Kendo UI Grid's toolbar with a template is not persisted when the Grid is loaded using setOptions. 

Reproduction of the problem

With a toolbar containing a template with server tags, the toolbar content will disappear.

Expected Behavior

The Grid should retain the toolbar with the HTML contained when using setOptions.

Environment

Kendo UI version: 2022.2.510
jQuery version:
all
Browser: all

Thanks!

Completed
Last Updated: 17 Sep 2026 10:13 by ADMIN
Release 2026 Q4
Created by: Nikita
Comments: 0
Category: Grid
Type: Bug Report
0

Bug report

Reproduction of the problem

Create a Grid using the Telerik UI for ASP.NET MVC wrappers and add .Size(ComponentSize.Medium) to the configuration.

Current behavior

When the Grid is created using Telerik UI for ASP.NET MVC wrappers and  .Size(ComponentSize.Medium) is applied the Grid is missing the k-grid-md class.

When using the same configuration but with .Size(ComponentSize.Small) k-grid-sm class is present.

The classk-grid-md is present when using jQuery and Telerik ASP.NET Core.

Expected/desired behavior

The behavior should be consistent and the k-grid-md class should be applied also when using Telerik UI for ASP.NET MVC wrappers

Environment

  • Kendo/Telerik version: 2026.3.811
  • Browser: [all ]
Completed
Last Updated: 27 Aug 2026 08:33 by ADMIN
Release 2024 Q3 (Aug)

Bug report

Reproduction of the problem

  1. Initialize a Grid with the following Filter and ColumnMenu configuration:
@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
    .Name("grid")
    .Columns(columns => {
        columns.Bound(p => p.OrderID).Filterable(false).Width(100);
        columns.Bound(p => p.ShipCity).Width(100);
        columns.Bound(p => p.ShipCity).Width(150);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}").Width(140);
    })
    .Sortable()
    .Filterable(f => f.Extra(true)
        .Messages(message => message.Equals("Равно"))
        .Messages(message => message.Filter("Приложи"))
        .Messages(message => message.Clear("Изчисти"))
        .Messages(message => message.Info("Покажи записи които:"))
        .Messages(message => message.And("и"))
        .Messages(message => message.Or("или"))
        .Messages(message => message.AdditionalOperator("fdfdfd"))
        .Messages(message => message.IsFalse("Активни  "))
        .Messages(message => message.IsTrue("Неактивни   "))
    )
    .ColumnMenu()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Model(model => model.Id(p => p.OrderID))
        .Read(read => read.Action("Orders_Read", "Grid"))
     )
)

Or use this REPL example: https://netcorerepl.telerik.com/QSYflePv05yaqnLZ07

The issue is also reproducible with the ColumnMenu set the following way:

.ColumnMenu(cm => cm
        .Messages(message => message.Columns("Колони"))
        .Messages(message => message.ColumnSettings("Насторйки"))
        .Messages(message => message.Filter("Филтър"))
        .Messages(message => message.SortAscending("Сортирай възходящ ред"))
        .Messages(message => message.SortDescending("Сортирай низходящ ред"))
    )

Current behavior

The filter menu messages are not set.

filter-menu-messages

Expected/desired behavior

The filter menu messages are set regardless of whether a ColumnMenu is enabled or not.

Environment

  • Kendo UI version: 2024.1.314
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 27 Aug 2026 08:03 by ADMIN
Release 2026 Q2

### Bug report

When filtering a specified Grid column, the filter expressions are inverted when the value of the first expression is empty/null.

### Reproduction of the problem

1) Filter a Grid column by leaving the first filter value empty:

2) Filter the Grid and open again the filter menu. The filter expressions are inverted:

A Dojo sample for reproduction: https://dojo.telerik.com/CXChcTJT

### Expected/desired behavior

The filter menu expressions must remain the same.

### Environment

* **Kendo UI version: 2025.2.702
* **jQuery version: 3.7.0
* **Browser: [all]

In Development
Last Updated: 06 Aug 2026 07:25 by ADMIN
Scheduled for 2026 Q4

Bug report

When the scrollable option is disabled, on resizing the browser window by making it more narrow, at certain point the columns stop resizing and the whole table goes out of the right border of the Grid. Reproducible with the SASS and LESS themes.

Reproduction of the problem

Dojo example: https://dojo.telerik.com/ItIrEzEY/3

  1. Either resize the right pane or use Fullscreen and resize the browser window and make it narrower.

Current behavior

The table goes out of wrapping element (.k-grid).

Expected/desired behavior

The columns resize and the table remains within the borders of the Grid.

Environment

  • Kendo UI version: 2023.1.117
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 19 Dec 2025 14:27 by ADMIN

We are using the Kendo UI for different components like Grid in our APS.Net MVC application. Currently we are experiencing an issue while exporting the Kendo grid to Excel from mobile (both android and ios). It shows the following warning message. The same works when exporting from a PC without any issue. Could you please help to resolve the issue.

In Development
Last Updated: 09 Dec 2025 09:25 by ADMIN

Bug report

The ClientGroupFooterTemplate and ClientFooterTemplate configuration lead to an invalid template error when strict CSP mode is enabled. There are no corresponding methods that accept a TemplateHandler.

Reproduction of the problem

@(Html.Kendo().Grid<TelerikMvcApp3.Models.OrderViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.OrderID).Filterable(false);
        columns.Bound(p => p.Freight);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity).ClientGroupFooterTemplate("Total:").ClientFooterTemplate("Team Total");
    })
    .Groupable()
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Home"))
    )
)


@(Html.Kendo().DeferredScriptFile())

Current behavior

JS exceptions on initializing the Grid and on attempting to group it by ShipCity.

Expected/desired behavior

CSP compatible templates.

Environment

  • Kendo UI version: 2023.3.1114
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 12 Sep 2025 08:10 by ADMIN
Release 2025 Q4 (Nov)

Bug report

When the Grid AutoBind() configuration is set to false, the Grid is rendering an empty cell in the row element with class .k-no-data. (Image.png)

Reproduction of the problem

Set AutoBind configuration of Telerik UI for Asp.Net MVC Grid to 'false'. The Grid is rendered correctly except for the empty row and the empty cell in the table body.

Current behavior

An empty row with one empty cell is rendered.

Expected/desired behavior

The tbody element should be empty.

Environment

  • Kendo UI version: 2022.2.621
  • Browser: [all]

Image

Completed
Last Updated: 08 Aug 2025 07:05 by ADMIN
Release 2025 Q3 (Aug)

### Bug report

When the Input() option of the Grid's pager is enabled, the page number buttons are displayed, too.

### Reproduction of the problem

1) Create a Grid and enable the Input() option of the pager.

2) The pager displays both the page number buttons and the page numeric input:

### Expected/desired behavior

When the numeric input is enabled, the page number buttons must not be displayed.

### Environment

* **Telerik UI for ASP.NET MVC version: 2025.2.702

 
Completed
Last Updated: 11 Feb 2025 10:59 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:

https://dojo.telerik.com/EcUKIrAK

Environment

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

Unplanned
Last Updated: 03 Feb 2025 14:10 by Mbott

Bug report

In a state persistence scenario, the Grid state is not properly restored when the "all" pageSizes option is selected.

Reproduction of the problem

  1. Run this dojo example: https://dojo.telerik.com/yGLYKKQz
  2. Select "all" in the Grid's pager dropdown and click the Save button above the component.
  3. Select a different page size option in the pager dropdown, e.g., 20.
  4. Click the Load button.

Current behavior

The Grid shows page 1 of the data and the currently selected page sizes option is shown (e.g., 20).

Expected/desired behavior

The Grid shows all the data and the pager dropdown shows "all" as the selected value.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: All
Completed
Last Updated: 07 Jan 2025 08:35 by ADMIN
Release 2025 Q1 (Feb)

Bug Report

The SaveButton() method does not render the Cancel Command button in Grid's Toolbar Template

Reproduction of the issue

  1. Declare the Grid's Toolbar.Template() API configuration with an Action or Delegate
  2. Notice, that Grid's Toolbar does not explicitly add the Cancel Command button.
@(Html.Kendo().Grid<GridModel>()
    ...
   .Name("grid")
   .ToolBar(t =>
      {
          t.Template(@<text>
            <span class="group-buttons">
	         @item.SaveButton();
            </span>
          </text>);
  })
)

Current behaviour

The SaveButton() method does not render the Cancel Command in Grid's Toolbar Template.

Expected behavior

The SaveButton() method should render the Cancel Command in Grid's Toolbar Template.

Workaround

A possible way to circumvent this behavior would be to explicitly declare both the Save and Cancel buttons as independent Button components via the Toolbar.ClientTemplate() API configuration.

@(Html.Kendo().Grid<GridModel>()
	...
	.Name("grid")
        .ToolBar(t =>
	{
		t.ClientTemplate(Html.Kendo().Template()
				.AddHtml(@<text>
					<span class="group-buttons">
				</text>)
				.AddComponent(saveBtn => saveBtn
					.Button()
					.Name("saveBtn")
					.Icon("check")
					.HtmlAttributes(new { @class = "k-grid-save-changes", style="margin-right: 2%;" })
					.Content("Save Changes")
				)
				.AddComponent(cancelBtn => cancelBtn
					.Button()
					.Icon("cancel")
					.Name("cancelBtn")
					.HtmlAttributes(new { @class = "k-grid-cancel-changes" })
					.Content("Cancel Changes")
				)
				.AddHtml("</span>")
		);
	})
)
Unplanned
Last Updated: 12 Dec 2024 10:51 by Development
Created by: Development
Comments: 0
Category: Grid
Type: Feature Request
2

Is it possible to implement a MaxLength() option in the Filterable(f => f.Cell()) configuration that will set the maxlength attribute to the Filter row element in order to limit the length of the string that the user can enter into the Filter row input?

For example:

@(Html.Kendo().Grid(Model)
                   .Name("grid")
                   .Columns(columns =>
                   {
                       columns.Bound(x => x.Name).Filterable(ftb => ftb.Cell(c => c.MaxLength(5)));
                   })
                   ...
)

Completed
Last Updated: 01 Nov 2024 08:00 by ADMIN

Bug report

The attributes handler overload does not get executed when the column is initially marked as hidden.

Reproduction of the problem

  1. Open the following dojo.
  2. Change the hidden property of the ContactTitle field to true.

Current behavior

The attributes handler is not executed when the column is hidden.

Expected/desired behavior

The attributes handler should be executed when the column is hidden.

Environment

  • Kendo UI version: 2023.1.425
  • Browser: [all]
1 2 3 4 5 6