Unplanned
Last Updated: 11 Sep 2026 15:34 by ADMIN
Scheduled for 2026 (Oct)
Created by: Andrew
Comments: 0
Category: Scheduler
Type: Feature Request
2
I just updated my telerik libraries and the new Scheduler doesn't show the YEAR in the header like the old Scheduler component. It would be nice to be able to control the format of that SchedulerToolBarCalendarTool subcomponent of the Scheduler. Thanks!
Unplanned
Last Updated: 11 Sep 2026 15:34 by ADMIN
Scheduled for 2026 (Oct)

Description

The data order displayed in the PivotGrid does not follow the field order shown in the Rows configuration. Similar issue: #12989

Steps To Reproduce

  1. Run the example posted below:

  2. From the Fields list, check ContractNumber. It is added to the Columns section by default.

  3. Drag ContractNumber from Columns to the Rows section.

  4. Verify in the PivotGrid settings that the Rows area now shows:

    • Station
    • ContractNumber
      (in this order)
  5. View the data the table.

@using Telerik.Blazor.Components.PivotGrid

<TelerikButton OnClick="@OnRefresh">Refresh</TelerikButton>
<TelerikLoaderContainer Visible="@_isLoading" Text="Please wait..." />

<div class="pivot-main-container">
    <TelerikPivotGridContainer>
        <TelerikPivotGridConfiguratorButton></TelerikPivotGridConfiguratorButton>
        <TelerikPivotGridConfigurator></TelerikPivotGridConfigurator>
        <div class="pivot-grid-container">
            <TelerikPivotGrid Data="@PivotData" DataProviderType="@PivotGridDataProviderType.Local"
                              @ref="_PivotGridRef" ColumnHeadersWidth="100px" RowHeadersWidth="130px">
                <ColumnHeaderTemplate>
                    @{
                        var ctx = (PivotGridColumnHeaderTemplateContext)context;
                        int underscoreIndex = ctx.Text.IndexOf("-");
                        string text = ctx.Text;
                        if (underscoreIndex > 0)
                        {
                            text = text.Replace(text.Substring(0, underscoreIndex + 1), "");
                            <span>@text</span>
                        }
                        else
                        {
                            <span>@ctx.Text</span>
                        }
                    }
                </ColumnHeaderTemplate>

                <RowHeaderTemplate>
                    @{
                        var ctx = (PivotGridRowHeaderTemplateContext)context;
                        int underscoreIndex = ctx.Text.IndexOf("-");
                        if (underscoreIndex == 1)
                        {
                            string text = ctx.Text;
                            text = text.Replace(text.Substring(0, underscoreIndex + 1), "");
                            <span>@text</span>
                        }
                        else
                        {
                            <span>@ctx.Text</span>
                        }
                    }
                </RowHeaderTemplate>

                <DataCellTemplate Context="dataCellContext">
                    @{
                        var c = (PivotGridDataCellTemplateContext)dataCellContext;
                        string amt;

                        if (c.Value is AggregateException || c.Value?.GetType().Name == "AggregateError")
                        {
                            amt = "-";
                        }

                        else if (c.Value == null)
                        {
                            amt = (0m).ToString("C2");
                        }
                        else if (c.Value is IConvertible)
                        {
                            // Safe convert for numbers
                            amt = Convert.ToDecimal(c.Value).ToString("C2");
                        }
                        else
                        {
                            amt = c.Value?.ToString() ?? string.Empty;
                        }
                    }
                    <div style="text-align: right;">
                        @amt
                    </div>
                </DataCellTemplate>


                <PivotGridRows>
                    <PivotGridRow Name="@nameof(RptContractSalesSummaryModel.Station)" Title="Station" />
                </PivotGridRows>

                <PivotGridColumns>
                    <PivotGridColumn Name="@nameof(RptContractSalesSummaryModel.Year)" Title="Year" HeaderClass="year-header" />
                    <PivotGridColumn Name="@nameof(RptContractSalesSummaryModel.Month)" Title="Month" />
                </PivotGridColumns>

                <PivotGridMeasures>
                    <PivotGridMeasure Name="@nameof(RptContractSalesSummaryModel.Rate)" Title="Total"
                                      Aggregate="@PivotGridAggregateType.Sum" />
                </PivotGridMeasures>
            </TelerikPivotGrid>
        </div>
    </TelerikPivotGridContainer>
</div>


@code
{
    private List<RptContractSalesSummaryModel> PivotData { get; set; } = [];
    public TelerikNotification NotificationReference { get; set; } = default!;
    public TelerikPivotGrid<RptContractSalesSummaryModel> _PivotGridRef { get; set; } = default!;
    private CancellationTokenSource cancelToken = new CancellationTokenSource();
    private bool _isDisposed { get; set; } = default!;
    private bool _isLoading { get; set; } = default!;


    protected override async Task OnInitializedAsync()
    {
        await LoadReportData(cancelToken.Token);
        await base.OnInitializedAsync();
    }

    private async Task LoadReportData(CancellationToken token)
    {
        _isLoading = true;
        await Task.Delay(1000);

        var dataItemCount = 10000;
        var stationCount = 30;
        var rnd = Random.Shared;

        for (int i = 1; i <= dataItemCount; i++)
        {
            var stationNumber = rnd.Next(1, stationCount);
            if (token.IsCancellationRequested || _isDisposed) { return; }
            ;
            PivotData.Add(new RptContractSalesSummaryModel()
            {
                Station = $"Station {stationNumber}",
                ContractMonth = DateTime.Today.AddMonths(-rnd.Next(0, 13)),
                Rate = rnd.Next(123, 987) * 1.23m,
                ContractNumber = i,
                InternetOrderID = i * 10
            });
        }

        PivotData = PivotData
                        .OrderBy(x => x.Station)
                        .ThenBy(x => x.Year)
                        .ThenBy(x => x.Month).ToList();

        if (_PivotGridRef != null && !_isDisposed)
        {
            _PivotGridRef?.Rebind();
        }

        _isLoading = false;
    }

    public async Task OnRefresh()
    {
        await LoadReportData(cancelToken.Token);
        await Task.CompletedTask;
    }

    public async ValueTask DisposeAsync()
    {
        PivotData = [];
        await Task.CompletedTask;
    }

    public class RptContractSalesSummaryModel
    {
        public DateTime ContractMonth { get; set; }
        public int Year => ContractMonth.Year;
        public string Month => $"{MapMonthToLetter(ContractMonth.Month)}-{ContractMonth:MMMM}";
        public string Station { get; set; } = string.Empty;
        public string? SalesPerson { get; set; }
        public string? AdvertiserName { get; set; }
        public string? AgencyName { get; set; }
        public string? Product_Description { get; set; }
        public string? Brand { get; set; }
        public string AccountType1 { get; set; } = string.Empty;
        public string AccountType2 { get; set; } = string.Empty;
        public decimal? Rate { get; set; }
        //public int? RptUserKey { get; set; }
        public string? Demographics { get; set; }
        public string? OrderType { get; set; }
        public string? SalesOffice { get; set; }
        public int? ContractNumber { get; set; }
        public string? SectionLevel { get; set; }
        public string? AgencyGroup { get; set; }
        public string? AdvertiserGroup { get; set; }
        public string? ProductGroup { get; set; }
        public string? LineNumber { get; set; }
        public string? RevenueClassDescription { get; set; }
        public string? InternetIntegrationType { get; set; }
        public string? LineType { get; set; }
        public string? RateType { get; set; }
        public string? InternetAdType { get; set; }
        public string? InternetSubAdType { get; set; }
        public DateTime? LineStartDate { get; set; }
        public DateTime? LineEndDate { get; set; }
        public long? InternetOrderID { get; set; }
        public DateTime? InitialDelivery { get; set; }
        public string? QuantityType { get; set; }
        public long? QuantityOrdered { get; set; }
        public long? ImpressionsDelivered { get; set; }
        public long? ClicksDelivered { get; set; }
        public long? Goal { get; set; }
        public string? Limit { get; set; }
        public string? BillingType { get; set; }
        public decimal? DeliveredRevenue { get; set; }
        public string? PerformanceStatus { get; set; }
        public DateTime? LastSuccessfulJobRun { get; set; }
        public string? InternetEnvironment { get; set; }
        public string? UserField1 { get; set; }
        public string? ExternalID { get; set; }

        // to sort the months correctly in the pivot grid
        private static string MapMonthToLetter(int month)
        {
            return month switch
            {
                1 => "A",
                2 => "B",
                3 => "C",
                4 => "D",
                5 => "E",
                6 => "F",
                7 => "G",
                8 => "H",
                9 => "I",
                10 => "J",
                11 => "K",
                12 => "L",
                _ => "?"
            };
        }
    }
}

Actual Behavior

The data order displayed in the PivotGrid does not follow the field order shown in the Rows configuration.

Image

Expected Behavior

The rendered PivotGrid data should strictly follow the order of fields as defined in the Rows (or Columns) area settings.

Browser

All

Last working version of Telerik UI for Blazor (if regression)

No response

Completed
Last Updated: 11 Sep 2026 11:27 by ADMIN
Release 2026 14.1.0 (Jul)
Created by: n/a
Comments: 1
Category: MultiSelect
Type: Bug Report
2
If you open a MultiSelect with single tag mode, for example, clicking on an item in the popup toggles the selection, but pressing Enter only selects the item and doesn't unselect it.
Completed
Last Updated: 11 Sep 2026 11:22 by ADMIN
Release 2026 Q4 (Nov)
This issue is for all date inputs when having a higher latency (physical distance between the server and the end-user) the value of the date inputs is not correct. Additionally, When typing the year in the input field, the text overflows instead of staying within the 4-digit space. For reference, check the attached screenshot.
Completed
Last Updated: 11 Sep 2026 11:22 by ADMIN
Release 2026 Q4 (Nov)
In our serverside blazor application we use the Telerik's DateTimePicker. When we type values in to the date time picker control, it jumps to the next section or to the end before completing the currect section. We use the format 'yyyy-MM-dd HH:mm'

It does not happen always and I think it is happenning when the internet connection is slow and it shows a Javascript error as well (screenshots below)
Declined
Last Updated: 10 Sep 2026 11:42 by ADMIN
Scheduled for 2026 Q4 (Nov)

Description

When the ComboBox is bound with the OnRead event, after filtering and pressing the Tab key the highlighted item that matches the user input is not selected. If the ComboBox is bound through the Data parameter, the highlighted item is selected as expected.

Steps To Reproduce

  1. Run this REPL example: https://blazorrepl.telerik.com/GKOwYyuD25UuABfR07
  2. Focus the ComboBox and type in "BMW"
  3. Press the Tab key.

Actual Behavior

The ComboBox is blurred and the BMW item is not selected.

Expected Behavior

The ComboBox is blurred and the BMW item is selected.

Browser

All

Last working version of Telerik UI for Blazor (if regression)

No response

Completed
Last Updated: 10 Sep 2026 10:45 by ADMIN
Release 2026 Q4 (Nov)

Bug report

Reproduction of the problem

(bug report only)

  1. Run this example: https://blazorrepl.telerik.com/mUOqQflm56D4xScx54
  2. Select a font in the FontFamily dropdown.
  3. Click the UnorderedList tool in the Editor’s toolbar.
  4. A bullet is added and the FontFamily tool loses its value.
  5. Click right after the added bullet.
  6. Once again select a font in the FontFamily drodown.
  7. Click the UnorderedList tool in the Editor’s toolbar to remove the bullet.
  8. The FontFamily tool loses its value.

Current behavior

(optional)
Provide additional information if the steps for reproducing the faulty behavior are not sufficient to describe the issue.

Expected/desired behavior

The FontFamily tool should keep its value when an unordered list is added/removed.

Environment

  • Kendo/Telerik version: 14.0.0
  • Browser: [all]
Planned
Last Updated: 10 Sep 2026 10:29 by ADMIN
Scheduled for 2026 (Oct)
Loading Groups on Demand in a column with a nullable data type groups all records under the "Null" group
Unplanned
Last Updated: 10 Sep 2026 07:15 by Vitaly
Created by: Roland
Comments: 5
Category: Editor
Type: Feature Request
11

I bind the TelerikEditor Value to a property that is reloaded with different unrelated content. The editor keeps the Undo/Redo stack so for the "second" content I can Undo back to the "first" content. I'd like to be able to clear the Undo stack.

Declined
Last Updated: 09 Sep 2026 14:08 by ADMIN
Scheduled for 2026 Q4 (Nov)

I am trying to look at the times 7pm - midnight.  But if I set the end time to midnight, I get an error that the end time has to be greater than the start time.  How do I set the timeline to show 7pm - midnight or 8pm - 2am?

I tried including the next date in the EndTime but the Scheduler does not take the date into consideration, it checks only the time portion.

Completed
Last Updated: 09 Sep 2026 06:18 by ADMIN
Release 2026 (Oct)

Bug report

Reproduction of the problem

(bug report only)

Regression introduced in version 14.1.0.

1. Run this example: https://blazorrepl.telerik.com/mAaNuhlQ07uvfUs053
2. Expand Work Files folder and select the Documents or Images folder.

Current behavior

(optional)

The FileManager does not visualize the files nested in the folders.

Expected/desired behavior

The FileManager visualizes the files nested in the folders.

Environment

  • Kendo/Telerik version: 15.0.1
  • Browser: [all ]
Completed
Last Updated: 08 Sep 2026 16:31 by ADMIN
Release 2026 Q4 (Nov)
Created by: Daniel
Comments: 1
Category: TimePicker
Type: Bug Report
1
We recently came across a unique situation where if you try to use a TimePicker within a ListView on a mobile view, the user is unable to change the time. 

Issue: User is unable to switch time from the current value. If you try to select a different hour, minute, second, or AM/PM it snaps back to the current value and will never bind to a new value. If you switch out of mobile view the Adaptive Mode takes it out of full screen and it works. 

Recreation Steps:
  • Create a ListView
  • Create a TimePicker within the ListView
  • Set the Adaptive Mode on the TimePicker to Auto (This is key, if this property is removed it works)
  • Run the page and switch to a mobile view format within the browse

Work-Around: We replaced the ListView with some simple divs and then everything works as intended. Additionally you can also just remove the Adaptive Mode and it will work within a ListView but you no longer get the fullscreen view.


Example Code:

@page "/test-timepicker-listview"

<h3>TimePicker in ListView Test</h3>

<TelerikListView Data="@TestItems" Width="100%">
    <HeaderTemplate>
        <div style="padding: 10px; background-color: #f0f0f0; font-weight: bold;">
            Time Entry Items
        </div>
    </HeaderTemplate>
    <Template>
        <div style="padding: 15px; border-bottom: 1px solid #ddd;">
            <div style="margin-bottom: 10px;">
                <strong>Item:</strong> @context.Name
            </div>
            <div style="display: flex; align-items: center; gap: 10px;">
                <label>Start Time:</label>
                <TelerikTimePicker @bind-Value="@context.StartTime" Format="hh:mm tt" Width="150px"
                    AdaptiveMode="AdaptiveMode.Auto" />
            </div>
            <div style="display: flex; align-items: center; gap: 10px; margin-top: 10px;">
                <label>End Time:</label>
                <TelerikTimePicker @bind-Value="@context.EndTime" Format="hh:mm tt" Width="150px"
                    AdaptiveMode="AdaptiveMode.Auto" />
            </div>
        </div>
    </Template>
</TelerikListView>

@code {
    private List<TimeEntryItem> TestItems { get; set; } = new();

    protected override void OnInitialized()
    {
        // Initialize with some test data
        TestItems = new List<TimeEntryItem>
{
new TimeEntryItem { Id = 1, Name = "Morning Shift", StartTime = new DateTime(2025, 11, 18, 8, 0, 0), EndTime = new
DateTime(2025, 11, 18, 12, 0, 0) },
};
    }

    public class TimeEntryItem
    {
        public int Id { get; set; }
        public string Name { get; set; } = string.Empty;
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
    }
}

Completed
Last Updated: 08 Sep 2026 06:11 by ADMIN
Release 2026 Q4 (Nov)

Bug report

Reproduction of the problem

(bug report only)
1. Run this example: https://blazorrepl.telerik.com/cUaBGOOZ34pkp6wB57
2. Inspect the MultiSelect’s input.
3. Click within the component’s input area, to open its popup.

The issue is also reproducible in the other dropdown components: https://blazorrepl.telerik.com/GUurGmvw32oPqGYu03

Current behavior

(optional)
When the dropdown opens, an aria-controls attribute is applied to the MultiSelect’s input. Its value does not match any existing DOM element.

Expected/desired behavior

The value of the aria-controls attribute should point at an existing element (e.g., the popup’s list element: https://www.telerik.com/blazor-ui/documentation/components/multiselect/accessibility/wai-aria-support#multiselect-wrapping-element ). But in this case the MultiSelect is not bound to data and a list element is not rendered in the popup.

Environment

  • Kendo/Telerik version: 14.1.0
  • jQuery version:
  • Browser: [all ]
Unplanned
Last Updated: 07 Sep 2026 08:41 by ADMIN
Scheduled for 2026 Q4 (Nov)
Created by: Svetoslav
Comments: 4
Category: DateInput
Type: Feature Request
29
Currently, the Date input components apply a mask to the input which restricts the user to type dates. By modifying the mask, or remove it altogether, the users will be able to freely type dates.
In Development
Last Updated: 06 Sep 2026 15:45 by ADMIN
Scheduled for 2026 Q4 (Nov)

The PDF Viewer may open certain files as empty, even though they have text and image content.

The issue occurs in version 14.0.0.

(Test file available in private ticket 1718294)

Completed
Last Updated: 04 Sep 2026 09:45 by ADMIN
Release 2026 Q4 (Nov)
When configuring fields in the PivotGrid Configurator, selected fields that are not assigned to Rows, Columns, or Measures get unchecked after clicking the "Apply" button. This results in users losing their field selections.
Unplanned
Last Updated: 04 Sep 2026 07:22 by ADMIN
Created by: Christopher
Comments: 7
Category: Charts
Type: Feature Request
12
Please add Funnel chart type such as the one available in Kendo.
Unplanned
Last Updated: 04 Sep 2026 07:05 by Ed
Created by: Ed
Comments: 0
Category: FileManager
Type: Bug Report
1

In the FileManager in a serverc app, click the New Folder button. Try to enter folder name - depending on the server-client latency, characters may be erased as you type them. The only solution in these cases is to type slower or use a custom tool to create new folders.

The problematic behavior can also be observed when attempting to rename a file or folder through the Rename command in the built-in context menu. 

Unplanned
Last Updated: 03 Sep 2026 08:49 by Metro
Add an event dedicated to detecting a click in the Agenda View. OnItemClick works only for appointments, thus, it doesn't fire when the user clicks the div elements formatted as cells in the Agenda View. 
In Development
Last Updated: 03 Sep 2026 08:21 by ADMIN
Scheduled for 2026 Q4 (Nov)

When double-clicking a task in the Gantt Timeline, the popup edit form may not appear. Instead, the vertical blue band for task dragging may show.

The problem is more likely to occur when using a touchpad.

1 2 3 4 5 6