Unplanned
Last Updated: 15 Oct 2025 09:01 by Einar

### Bug report

When selecting the "Print" option in the PDFViewer, a large right and bottom margin is applied regardless of whether the “Margins” option is set to "None" or "Minimum".

### Reproduction of the problem

1) Open the PDFViewer Overview demo: https://demos.telerik.com/kendo-ui/pdfviewer/index

2) Select "Print" to open the print dialog

3) Notice the unexpected right and bottom margin.

The issue occurs since version 2025.2.520.

### Expected/desired behavior

The extra margins must not be applied when opening the file for printing.

### Environment

* **Kendo UI version: 2025.2.520
* **jQuery version: 3.7.1
* **Browser: [all]

Completed
Last Updated: 07 Oct 2025 08:41 by ADMIN

Bug report

Editor components throw AmbiguousMatchException when bound with models that have property shadowing in inheritance hierarchies.

Reproduction of the problem

  1. Create a model hierarchy where a derived class shadows a base class property with new keyword
  2. Bind the Editor component with the shadowed property
  3. Exception is thrown during reflection

Current behavior

(optional)
The components should handle property shadowing gracefully and generate the appropriate HTML input element.

Expected/desired behavior

AmbiguousMatchException is thrown when trying to bind the component to the shadowed property.

TicketID:

1699473

Environment

  • Kendo UI version: 2025.3.825
  • Browser: [all]
Need More Info
Last Updated: 06 Oct 2025 18:21 by ADMIN

I am working on a grid that has 3 requirements that seem to cause the bug:

  • A FK column must have its lookup values loaded remotely
  • The grid has sticky columns
  • The grid is loaded inside a tab strip control

The combination of these 3 factors causes the grid not to load and results in a devtools console error. It's worth noting that removing any of the 3 bullet points above (e.g. NOT using sticky columns, NOT loading grid in tab control, or NOT have a remote FK column) allows the grid to load properly.

The error thrown in the DevTools console indicates that the grid's "tbody" property is not created at the time it is trying to call _setStickyStyles.

Before error is thrown (mouse is hovering over "tbody" property):

 

After error is thrown (look at console output):

 

I have upload a zip file containing a sample project that demonstrates the issue. When you launch the sample application, there are 2 links at the top of the page, "No Tabs" and "Tabs". The issue is reproducible on the "Tabs" page. Both pages use the same grid partial, but the "Tabs" page loads the partial through the tabstrip with a controller action. The "Tabs" page includes the 3 bullet points I indicated above that cause the problem.

The workaround I am using for now in my application is to NOT set the columns as sticky in my partial view. Instead, I set the sticky columns using the grid's API method "stickColumn" (https://www.telerik.com/kendo-jquery-ui/documentation/api/javascript/ui/grid/methods/stickcolumn) during the grid's dataBinding event (to ensure sticky columns are set AFTER grid initialization). This allows the grid to load and sets the sticky columns appropriately.

Thank you!

Completed
Last Updated: 01 Oct 2025 12:50 by ADMIN
Release 2025 Q4 (Nov)

### Bug report

When the TreeList is set up for Popup editing, the "required" validation triggers immediately when the Popup form is opened.

### Reproduction of the problem

1) Create a Popup editable TreeList.

2) Add the DataAnnotation [Required] attribute to any of the Model properties.

3) Click the built-in "Add new record" command.

4) The editor of the required field is automatically focused and the validation triggers immediately.

The behavior can be observed in the TreeList Popup Editing demo: https://demos.telerik.com/aspnet-core/treelist/editing-popup

### Expected/desired behavior

The validation must trigger on blur, as in the jQuery demo.

### Environment

* **Telerik UI for ASP.NET Core version: 2025.2.520
* **Browser: [all]

Unplanned
Last Updated: 16 Sep 2025 09:18 by Tim

### Bug report

Starting with version 2024.4.1112, the built-in PDF export of the Spreadsheet throws a client-side error when the sheet contains an image.

### Reproduction of the problem

1) Open the Images demo: https://demos.telerik.com/aspnet-core/spreadsheet/images

2) Export the sheet to PDF.

3) An error is logged in the browser console: "Uncaught TypeError: n.Image is not a constructor".

The last working version is 2024.3.1015.

### Expected/desired behavior

PDF export must work as expected.

### Environment

* **Kendo UI version: 2024.4.1112
* **jQuery version: 3.7.1
* **Browser: [all]

Completed
Last Updated: 12 Sep 2025 09:11 by ADMIN

Bug report

The Form ignores the [Display(Name = "Value")] Data Annotation attribute:
telerik/kendo-ui-core#6503

Reproduction of the problem

The Email Label should read "Message":
https://netcorerepl.telerik.com/wzuDulvO14AtS2vC17

Completed
Last Updated: 05 Sep 2025 10:37 by ADMIN

### Bug report

When using the default column checkbox filter menu and the data requested from the server takes time to load, the filter menu popup does not resize correctly when opening the menu for the first time.

The issue started to occur in version 2025.1.211.

### Reproduction of the problem

1) Enable the checkbox filter menu of a specified column. The Grid binds to remote data and the data operations are perfomed on the server.

2) Open the filter menu when the Grid is loaded.

3) The Read request triggers and a loader is displayed to indicate that the data is loading:

4) The options are loaded, but the popup container does not expand as expected:

5) Close the filter menu and opend it again:

### Expected/desired behavior

The filter menu popup must display all options when the data is loaded.

### Workaround

<style>
     .k-animation-container-shown {
        overflow: visible !important;
    }
</style>


### Environment

* **Kendo UI version: 2025.2.520
* **jQuery version: 3.7.1
* **Browser: [all]

Unplanned
Last Updated: 02 Sep 2025 15:23 by Don Leduc

### Bug report

When the virtualization is enabled, in some cases, the selected options in the dropdown do not match the selected options in the input. 

### Reproduction of the problem

1) Create a MultiSelect with Virtualization (for example, the same configuration as in the online demo).

2) Select multiple options from the dropdown.

3) Enter a search entry in the input to filter the displayed options and select a specified option.

4) Scroll down and select another option.

5) Remove some of the already selected options through the input.

6) Open again the dropdown. The selected options in the input do not match the selected options in the dropdown.

A screencast for reproduction: https://app.screencast.com/v6GtyST0dQAnh

### Expected/desired behavior

The selected options in the input must match the selected options in the dropdown, regardless of the number of options selected, whether the options are selected using filtering or manual scrolling, or if the options are unselected through the input or dropdown.

### Environment

* **Kendo UI version: 2025.3.825
* **jQuery version: 3.7.1
* **Browser: [all]
Declined
Last Updated: 01 Sep 2025 10:23 by ADMIN

Bug report

When ParseFormats is set in the DatePicker editor used in the Grid popup, the picker does not show the field value to which it is bound.

Reproduction of the problem

  1. Add a DateOnly? field to the model:

public DateOnly? OrderDate { get; set; }

  1. Bind a Grid column to the field.
  2. Set the default value in the DataSource:
.Model(model =>
{
    model.Id(p => p.OrderID);
    model.Field(p => p.OrderDate).DefaultValue(new DateOnly());
})
  1. Configure Popup editing in the Grid.
  2. Add a DateOnly.cshtml editor in EditorTemplates:
@model DateOnly?

@(Html.Kendo().DatePickerFor(m => m).ParseFormats(new string[] { "MM/dd/yyyy" }).HtmlAttributes(new { title = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName("") }))

Current behavior

When editing a record. The value of the OrderDate field is not displayed in the DatePicker.
If you remove the ParseFormats option from the DatePicker, it shows the value as expected.

Expected/desired behavior

The field value should be displayed in the picker, even when ParseFormats is set.

Environment

  • Kendo UI version: 2024.4.1112
  • Browser: All
Completed
Last Updated: 25 Aug 2025 13:30 by ADMIN
Release 2025 Q4 (Nov)
Created by: Kheng Aik
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
0

### Bug report

When building the scripts with NPM, there is syntax error "Unexpected number":


### Reproduction of the problem

Build the scripts (version 2025.3.812).

### Expected/desired behavior

The scripts must be built successfully.

### Workaround:

Remove the extra single quotes that wrap the version in the "rollup.mjs.config.mjs" and "rollup.modules.config.js" files:

  • rollup.mjs.config.mjs
import glob from 'glob';
import path from 'path';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import polyfill from 'rollup-plugin-polyfill';
import alias from '@rollup/plugin-alias';

...

const version = '2025.3.812';
  • rollup.modules.config.mjs
import glob from "glob";
import path from "path";
import { nodeResolve } from "@rollup/plugin-node-resolve";
import polyfill from "rollup-plugin-polyfill";
import alias from "@rollup/plugin-alias";

...

const version = '2025.3.812';

### Environment

* **Kendo UI version: 2025.3.812

Declined
Last Updated: 11 Aug 2025 13:12 by ADMIN

### Bug report

When the Grid is set up for OData-v4 binding, the columns that bind to DateOnly fields fail to filter. The date value in the filter expression contains the time portion and the following error is thrown:

"The binary operator GreaterThan is not defined for the types 'System.Nullable`1[System.DateOnly]' and 'System.Nullable`1[System.DateTimeOffset]'."

### Reproduction of the problem

1) Create a Grid that uses OData-v4 binding.

2) Bind a specified column to a DateOnly field.

3) Filter the column through the default column filter menu and open the browser DevTools to review the response of the request.

//Model
public DateOnly LastProdUpdate { get; set; }

//View
@(Html.Kendo().Grid<ProductViewModel>()
    .Name("grid")
     .Columns(columns =>
        {
            columns.Bound(p => p.LastProdUpdate).Format("{0:dd/MM/yyyy}");
        })
        ...
        .Filterable()
        .DataSource(dataSource => dataSource
        .Custom()
        .Type("odata-v4")
        .Transport(t =>
        {
            t.Read(read => read.Url("/odata/Products").Data("function() {return {'$expand': 'Employee'} }"));
        })
        .PageSize(10)
        .ServerPaging(true)
        .ServerFiltering(true)
        .ServerSorting(true)
     )
)

### Expected/desired behavior

The DateOnly fields must be filtered successfully as the DateTime fields.

### Environment

* **Kendo UI version: 2024.4.1112
* **Browser: [all]

Completed
Last Updated: 11 Aug 2025 13:06 by ADMIN
Release 2025 Q3 (Aug)

Bug report

Filterable configuration in ForeignKey is not serialized in TagHelper Grid.

Reproduction of the problem

Open this REPL example

Current behavior

Filterable configuration in ForeignKey is not serialized in TagHelper Grid.

Expected/desired behavior

Filterable configuration in ForeignKey should be serialized in TagHelper Grid.

TicketID:

1692361

Environment

  • Kendo UI version: 2025.2.702
  • Browser: [all]
Declined
Last Updated: 25 Jul 2025 05:03 by ADMIN
Scheduled for 2025 Q2 (May)

### Bug report

When loading an editor through a partial View using EditorTemplateView(await Html.PartialAsync("PartialViewName")), the following error occurs:

The 'await' operator can only be used within an async lambda expression. Consider marking this lambda expression with the 'async' modifier.

### Reproduction of the problem

@(Html.Kendo().Form<UserViewModel>()
     .Name("myForm")
     .Items(items =>
     {
         items.Add().Field(f => f.Username).EditorTemplateView(await Html.PartialAsync("PartialViewName"));
      })
)

### Expected/desired behavior

The EditorTemplateView() must accept Html.PartialAsync("PartialViewName").

### Environment

* **Telerik UI for ASP.NET Core version: 2024.4.1112
* **Browser: [all]

Unplanned
Last Updated: 17 Jul 2025 09:01 by Luan

### Bug report

When setting autoWidth: true and expanding a node, the popup's width is not adjusted based on the displayed child nodes.

### Reproduction of the problem

1) Enable the autoWidth option and open the DropDownTree.

2) Expand an item. A horizontal scrollbar appears and the width of the popup is not adjusted as expected:

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

### Expected/desired behavior

The width of the popup must be automatically adjusted when expanding an option and the "autoWidth" option is enabled.

### Environment

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

Completed
Last Updated: 17 Jul 2025 07:16 by ADMIN
Release 2025 Q3 (Aug)

### Bug report

When dragging and dropping a file into a specified FileManager folder, the Upload request triggers twice.

### Reproduction of the problem

1. Open the FileManager Demo: https://demos.telerik.com/kendo-ui/filemanager/index

2. Open the browser's Network tab.

3. Drag and drop a file into the FileManager.

4. Two Upload requests are triggered one after another.


### Expected/desired behavior

When uploading a single file with drag & drop, a single Upload request must trigger. When using the default upload button to upload a file, a single request triggers as expected.

### Environment

* **Kendo UI version: 2024.4.1112
* **jQuery version: 3.7.1
* **Browser: [all]

Completed
Last Updated: 16 Jul 2025 12:27 by ADMIN
Release 2025 Q3 (Aug)

### Bug report

When defining custom editors in the OrgChart form by using EditorTemplateView() or EditorTemplateId() options, the editors are not initialized as expected.

### Reproduction of the problem

1) Define a DropDownList editor in a partial View and load it through the EditorTemplateView() option:

@(Html.Kendo().OrgChart<OrgChartEmployeeViewModel>()
                .Name("departmentsChart")
                .Editable(edit =>
                {
                    edit.Form(form => form
                      .Items(i =>
                      {
                         i.Add().Field(x => x.ParentDepartment).EditorTemplateView(Html.Partial("~/Views/Shared/EditorTemplates/ParentDepartmentDropDown.cshtml"));
                      }));
                })
                ...
)

// ~/Views/Shared/EditorTemplates/ParentDepartmentDropDown.cshtml
@model OrgChartEmployeeViewModel

@(Html.Kendo().DropDownListFor(m => m.ParentDepartment)
    .OptionLabel("-None-")
    .DataTextField("Text")
    .DataValueField("Value")
    .DataSource(source =>
    {
	    source.Read(read => read.Action("ReadDepartments", "Home"));
    })
)

2) The DropDownList is not initialized when opening the OrgChart form.

### Expected/desired behavior

The editors defined through the EditorTemplateView() or EditorTemplateId() options must be initialized correctly.

### Environment

* **Kendo UI version: 2025.2.520
* **jQuery version: 3.7.1
* **Browser: [all]

Completed
Last Updated: 09 Jul 2025 08:52 by ADMIN
Release 2025 Q3 (Aug)

Bug report

TimeDurationPickerFor does not work in EditorTemplates scenarios.

Reproduction of the problem

  1. Create a TimeDurationPickerFor Helper within a standalone view within the ~/Views/EditorTemplate/ folder.
@model double

@(Html.Kendo().NumericTextBoxFor<double>(m => m))
  1. Use the Editor template within a more compound component. E.g the Grid
        .Columns(columns =>
        {
            columns.Bound(m => m.Duration).EditorTemplateName("TimeDurationPicker");
            columns.Command(command => command.Edit());
        })
  1. Notice that the application produces a server error.

Current behavior

The TimeDurationPickerFor Helper does not work in EditorTemplates scenarios.

Expected/desired behavior

The TimeDurationPickerFor Helper should work in EditorTemplates scenarios.

Environment

  • **Kendo UI version: 2025.2.702
  • **Browser: [all]
Completed
Last Updated: 07 Jul 2025 07:05 by ADMIN
Release 2025 Q3 (Aug)

Hi,

I'm following this document to load data into the grid view control using local data binding.

https://demos.telerik.com/aspnet-core/grid/local-data-binding 

I'm not sure this is an issue or expected grid view behavior when using local data binding. If loader-type and no-records are added. What happens is when there are no records, the Skeleton is still displayed and the no-records template is not displayed (see the attached image)


<kendo-grid mobile="Disabled" name="Grid" loader-type="GridLoaderType.Skeleton">
 <columns>
 <column field="ProductName" title="Product Name">
 </column>
 <column field="UnitPrice" format="{0:C}" title="Unit Price" width="130">
 </column>
 <column field="UnitsInStock" title="Units In Stock" width="130">
 </column>
 <column field="Discontinued" title="Discontinued" width="130">
 </column>
 </columns>
 <datasource type="DataSourceTagHelperType.Ajax" page-size="20" server-operation="false" data="@Model">
 </datasource>
 <filterable enabled="true">
 </filterable>
 <scrollable enabled="true" />
 <pageable enabled="true">
 </pageable>
 <sortable enabled="true" />
<no-records template="string HTML template, automatically centered" />
</kendo-grid>

 

Thanks

Bob

Completed
Last Updated: 03 Jul 2025 15:26 by ADMIN
Release 2025 Q3 (Aug)

As stated in the title, the Save() action of a grid (with pagination, not endless scroll) does set the scroll position to the top instead of persisting it. 

I tried to follow instructions from https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/data-management/grid/scrolling/overview#restoring-the-scroll-position but without success. The scroll position is moved to the top after the DataBound event handler.

Unplanned
Last Updated: 30 Jun 2025 07:01 by Aleksandar

Bug report

The rowReorder event does not return the correct newIndex when dragging a row from a lower row index to a higher row index.

Reproduction of the problem

  1. Run this dojo https://dojo.telerik.com/omyPpaZb
  2. Drag Chai and drop after Chang. Note oldIndex is 0, newIndex is 2, which is unexpected as indices are 0-based

Image

  1. Re-run the dojo to start fresh and drag Chang and drop before Chai and the indices are correct - oldIndex: 1, newIndex: 0

Image

Current behavior

The returned newIndex is incorrect.

Expected/desired behavior

The returned newIndex should be correct.

Environment

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