Unplanned
Last Updated: 07 May 2026 21:16 by Vitor

If the ComboBox Value is set during initialization and the ValueMapper executes too fast and before the component has rendered, its Value doesn't show.

The problem also occurs in the MultiColumnComboBox.

Possible workarounds:

  • Set the component Value a bit later.
  • Delay the ValueMapper execution until OnAfterRenderAsync fires.
  • Rebind() the ComboBox in OnAfterRenderAsync. This will fire OnRead again.
  • Render the ComboBox conditionally in the first OnAfterRenderAsync call.

To reproduce:

@using Telerik.DataSource
@using Telerik.DataSource.Extensions

<p>ComboBox Value: @ComboBoxValue</p>

<TelerikComboBox ItemHeight="30"
                 OnRead="@OnComboBoxRead"
                 PageSize="20"
                 ScrollMode="@DropDownScrollMode.Virtual"
                 TItem="@ListItem"
                 TValue="@(int?)"
                 @bind-Value="@ComboBoxValue"
                 ValueMapper="@ComboBoxValueMapper"
                 Width="240px" />

@code {
    private List<ListItem>? ComboBoxData { get; set; }

    private int? ComboBoxValue { get; set; } = 3;

    private async Task OnComboBoxRead(ReadEventArgs args)
    {
        DataSourceResult result = await ComboBoxData.ToDataSourceResultAsync(args.Request);

        args.Data = result.Data;
        args.Total = result.Total;
    }

    private async Task<ListItem?> ComboBoxValueMapper(int? selectValue)
    {
        // Triggers the bug
        await Task.Yield();

        ListItem? result = ComboBoxData?.FirstOrDefault(x => selectValue == x.Value);

        return result;
    }

    protected override void OnInitialized()
    {
        ComboBoxData = Enumerable
            .Range(1, 1234)
            .Select(x => new ListItem()
                {
                    Value = x,
                    Text = $"Item {x}"
                })
            .ToList();
    }

    public class ListItem
    {
        public int Value { get; set; }
        public string Text { get; set; } = string.Empty;
    }
}

Unplanned
Last Updated: 07 May 2026 13:08 by Igor

With `PersistTabContent="true"`, when tabs start with `Visible="false"` and later become `Visible="true"`, all visible tab contents are instantiated simultaneously instead of only the active tab.

Reproduction: 

@page "/TestPage"

<button @onclick="Load">Load</button>

<TelerikTabStrip PersistTabContent="true">
    <TabStripTab Title="Tab 1" Visible="@_tabsVisible">
        <TestInitComponent Message="Hello from tab1" />
    </TabStripTab>
    <TabStripTab Title="Tab 2" Visible="@_tabsVisible">
        <TestInitComponent Message="Hello from tab2" />
    </TabStripTab>
    <TabStripTab Title="Tab 3" Visible="@_tabsVisible">
        <TestInitComponent Message="Hello from tab3" />
    </TabStripTab>
</TelerikTabStrip>

@code {
    private bool _tabsVisible = false;

    private void Load()
    {
        _tabsVisible = true;
    }
}

TestInitComponent.razor

<h3>TestInitComponent</h3>

@code {

    [Parameter]
    public string Message { get; set; } = string.Empty;

    protected override void OnInitialized()
    {
        base.OnInitialized();
        Console.WriteLine($"TestInitComponent OnInitialized {Message}");
    }
}

Steps: Open page → click Load.

Completed
Last Updated: 07 May 2026 07:32 by ADMIN
Release 2026 Q2

The appointments at the start of the day seem accurate. If you scroll down, the position of the appointments does not line up with the grid line for the hour that it starts at or ends at. The issue can be observed in the live demo.

 

Planned
Last Updated: 06 May 2026 17:44 by ADMIN
Scheduled for 2026 Q3 (Aug)
Created by: Adam
Comments: 1
Category: Grid
Type: Bug Report
1

The Grid performance worsens progressively with each subsequent edit operation. Please optimize that.

Test page: https://blazorrepl.telerik.com/mJuHFNbb17FpJu9b54

Click on a Price or Quantity cell to start edit mode and tab repetitively to observe the degradation.

Unplanned
Last Updated: 05 May 2026 12:34 by ADMIN
Scheduled for 2026 Q2

Hi Support,

I have an issue with the DragToSelect feature of a Telerik grid in Blazor when this grid is inside a TelerikWindow. 

Summary
When a TelerikGrid configured with GridSelectionSettings DragToSelect="true" is rendered inside the <WindowContent> of a <TelerikWindow>, the drag-to-select (rubber-band) behavior is not working properly — the user can only select cells/rows via individual clicks.

Single-click selection continues to work in both cases. The issue is specific to the drag gesture.

Steps to reproduce
Create a page with a TelerikWindow set to Visible="true".
Inside <WindowContent>, place a TelerikGrid with:
SelectionMode="@GridSelectionMode.Multiple"
SelectedCells / SelectedCellsChanged bound
<GridSettings><GridSelectionSettings SelectionType="@GridSelectionType.Cell" DragToSelect="true" /></GridSettings>
Open the window and try to select multiple cells by pressing the mouse button on a cell and dragging over neighboring cells.

Expected behavior
A rubber-band selection rectangle appears and all cells the pointer passes over become selected — same as when the identical grid is placed on a regular page (outside a modal window).

Actual behavior
Drag selection occur rarely. Only the single cell under the initial mousedown gets selected. The rubber-band rectangle rarely appears, and SelectedCellsChanged fires with a single descriptor instead of the full drag range.

Minimal repro (REPL-ready)
<TelerikWindow Visible="true" Width="800px" Height="500px">
    <WindowTitle>Repro</WindowTitle>
    <WindowContent>
        <TelerikGrid Data="@Data" TItem="SampleItem"
                     SelectionMode="@GridSelectionMode.Multiple"
                     SelectedCells="@SelectedCells"
                     SelectedCellsChanged="@((IEnumerable<GridSelectedCellDescriptor> c) => SelectedCells = c)">
            <GridSettings>
                <GridSelectionSettings SelectionType="@GridSelectionType.Cell" DragToSelect="true" />
            </GridSettings>
            <GridColumns>
                <GridColumn Field="@nameof(SampleItem.Id)" />
                <GridColumn Field="@nameof(SampleItem.Name)" />
            </GridColumns>
        </TelerikGrid>
    </WindowContent>
</TelerikWindow>

@code {
    public record SampleItem(int Id, string Name);
    private List<SampleItem> Data = Enumerable.Range(1, 20).Select(i => new SampleItem(i, $"Item {i}")).ToList();
    private IEnumerable<GridSelectedCellDescriptor> SelectedCells = Enumerable.Empty<GridSelectedCellDescriptor>();
}

Now my questions :
- Is this a known limitation of DragToSelect when the grid is inside a modal TelerikWindow?
- Is there an officially supported workaround (CSS pointer-events tweak on .k-overlay, event capture override, grid setting, etc.)?
- If it is a bug, could you open a public issue we can track?

Many thanks you in advance.

Franck Boisdé

Need More Info
Last Updated: 30 Apr 2026 11:12 by ADMIN

Hello,

I see this often when running your Product updater, or it may come from within VS 2026 when it prompts to update projects. I had Telerik UI for Blazor 13.2 installed, updated using the product updater and got the prompt for the project updater and now 13.3.0 is active. The problem though is when you add a new version entry in the nuget package sources the older version(s) are not being removed. This breaks the build, it will fail to restore packages, etc. 

Unplanned
Last Updated: 28 Apr 2026 11:08 by Zeek

Bug report

Reproduction of the problem

(bug report only)
Regression introduced in 13.0.0.
1. Run this example: https://blazorrepl.telerik.com/wUuSGClv00orFeRm59

Current behavior

(optional)
The Size, Rounded, FillMode parameters are ignored.

Expected/desired behavior

The parameter values should apply and change the appearance of the SearchBox.

Environment

  • Browser: [all ]
Unplanned
Last Updated: 28 Apr 2026 06:26 by ADMIN
Scheduled for 2026 Q2
The DropDownTree OnChange event fires twice on item selection. Unlike other components like DropDownList or ComboBox, OnChange does not fire on blur. 
Completed
Last Updated: 24 Apr 2026 12:48 by ADMIN
Release 2026 Q2

When SchedulerGroupOrientation is set to vertical, increasing the height of the `SchedulerResourceGroupHeader` breaks the rendering of the Scheduler cells, which causes misalignment of the appointments. In my scenario, I want to have a Button and an Icon in the group header cell.

Reproduction example: https://blazorrepl.telerik.com/wJElGYvF02XSsN6j42

In Development
Last Updated: 24 Apr 2026 07:14 by ADMIN

With an active Blazor trial, the Telerik Document Processing NuGet packages are not found in the Visual Studio Package Manager and in the Terminal as well:

 

Completed
Last Updated: 23 Apr 2026 07:16 by ADMIN
Release 2026 Q2

The value in a numeric textbox cannot be changed for negative numerbes unless you erase all the text and restart.

 

<TelerikNumericTextBox Decimals="4"Max="5"Value="-4.56m"Id="general"></TelerikNumericTextBox>

 

    
Unplanned
Last Updated: 22 Apr 2026 10:50 by Santiago
Created by: Santiago
Comments: 0
Category: ComboBox
Type: Bug Report
3

(Also applies to AutoComplete, DropDownList, MultiSelect, MultiColumnComboBox).

When using Height="auto" in the popup settings and filtering with a dropdown above the component, the dropdown detaches from the main component.

<ComboBoxPopupSettings Height="auto"></ComboBoxPopupSettings>

https://blazorrepl.telerik.com/cKkSQGFO50ovCpr829

A possible workaround is to use a MaxHeight that is less than half the browser viewport.

<ComboBoxPopupSettings Height="auto" MaxHeight="45vh"></ComboBoxPopupSettings>

Completed
Last Updated: 22 Apr 2026 08:13 by ADMIN
Release 2025 Q3 (Aug)
Created by: Stefan
Comments: 5
Category: Upload
Type: Bug Report
8

Description

File data is not available in the Upload's OnSuccess event.

Regression in version 9.0.0 introduced with the addition of the chunk upload functionality.

https://github.com/telerik/blazor/blob/master/js/telerik-blazor/src/upload/upload.ts#L282-L288

Steps To Reproduce

  1. Attach a handler to the OnSuccess event:
<TelerikUpload SaveUrl="/api/upload/save"
               RemoveUrl="/api/upload/remove"
               OnSuccess="@OnSuccessHandler" />

@code {
    async Task OnSuccessHandler(UploadSuccessEventArgs e)
    {
        foreach (var file in e.Files)
        {
            Console.WriteLine($"Name = {file.Name}, Size = {file.Size}, Extension = {file.Extension}");
        }

        StateHasChanged();
    }
}
  1. Upload a file and try to access its Name, Size, and Extension properties in the event handler.

Actual Behavior

The properties have their default values (null for Name and Extension and 0 for Size).

Expected Behavior

The actual file data is accessible in the OnSuccess event handler.

Browser

All

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

8.1.1

Unplanned
Last Updated: 21 Apr 2026 12:22 by Alexey

Example:

<PageTitle>Home</PageTitle>

<div>
    <TelerikTextBox Width="20rem" Placeholder="Pallet" DebounceDelay="1000" @bind-Value="@_textInput" OnChange="@(async (input) => await OnInputChanged(input))" />
</div>
<p>@_textInput</p>


@code {
    private string? _textInput;

    private async Task OnInputChanged(object input)
    {
        Console.WriteLine($"Immediate: function parameter: {input}, bound variable: {_textInput}");
        await Task.Delay(1000);
        Console.WriteLine($"Delayed: function parameter: {input}, bound variable: {_textInput}");
        //Make the OnChange event receive the immediate value when the DebounceDelay is set
    }
}

The DebounceDelay is set to 1 second to highlight the behavior, although we have observed it with delays less than 100 milliseconds when the input is from a barcode scanner and the Enter is part of the scan. Start the sample, type "123" in the input, and hit enter within 1 second.

The output in the console is:
Immediate: function parameter: , bound variable:
Delayed: function parameter: , bound variable: 123

Completed
Last Updated: 20 Apr 2026 10:01 by ADMIN
Release 2026 13.2.0 (April)
Created by: Roberto
Comments: 0
Category: ComboBox
Type: Bug Report
2

Bug report

Reproduction of the problem

  1. Run this example: https://blazorrepl.telerik.com/cqknbdvw00QmDg6q14
  2. Focus the ComboBox
  3. Press Esc key

Current behavior

The ComboBox value is cleared.

Expected/desired behavior

The ComboBox value remains.

Environment

  • Telerik version: 13.0.0
  • Browser: [all ]
Completed
Last Updated: 20 Apr 2026 08:00 by ADMIN
Release 2026 Q2

When clicking on a tab to drag it to reorder, it will process the tab change as soon as the tab is clicked to start a drag operation.  Preferably, we'd like the tab select action to only happen on a mouseup instead of a mousedown (and cancelled on drag.)  This is a reproduction in the REPL: https://blazorrepl.telerik.com/mAayPpGb59GjWvUT47.  But it so simple that you probably don't need it. This is the main razor file:

@page "/tabstrip/overview"
@page "/tabstrip/index"
<div class="demo-section">
    <TelerikTabStrip
                 ActiveTabIdChanged="@OnTabChangeAsync"
                 OnStateChanged="@OnTabStateChangeAsync"
                 OverflowMode="@TabStripOverflowMode.Menu"
                 EnableTabReorder="true"
                 Height="100%"
                 Width="100%"
                 PersistTabContent="true">
        <TabStripTab Title="Sofia">
            <WeatherCard City="Sofia"
                         TempC="23"
                         Forecast="ForecastType.Sunny">
            </WeatherCard>
        </TabStripTab>
        <TabStripTab Title="London">
            <WeatherCard City="London"
                         TempC="21"
                         Forecast="ForecastType.Cloudy">
            </WeatherCard>
        </TabStripTab>
        <TabStripTab Title="Paris">
            <WeatherCard City="Paris"
                         TempC="17"
                         Forecast="ForecastType.Rainy">
            </WeatherCard>
        </TabStripTab>
    </TelerikTabStrip>
    <h2>Active Tab Index: @ActiveTabIndex </h2>
</div>
@code {
    public int ActiveTabIndex { get; set; } = 1;
    public async Task OnTabChangeAsync(string newTabId) {
        await Task.CompletedTask;
    }
    public async Task OnTabStateChangeAsync(TabStripStateEventArgs args) {
        await Task.CompletedTask;
    }
}
<style>
    .box {
        margin: 4.5em 7.5em;
        padding: 3em;
        background-color: rgba(20,53,80,0.038);
        border: 1px solid rgba(20,53,80,0.05);
    }
    .demo-section {
        margin: 0 auto;
        padding: 3em;
        border: 1px solid rgba(20,53,80,0.14);
        box-shadow: 0 1px 2px 1px rgba(0,0,0,.08)0 3px 6px rgba(0,0,0,.08);
    }
    .auto {
        max-width: max-content;
    }
    .demo-section:not(.wide):not(.auto),
    .box:not(.wide):not(.auto) {
        max-width: 500px;
    }
    .box:after,
    .demo-section:after {
        content: ";
        display: block;
        clear: both;
        height: 0;
    }
    .box {
        margin: 4.5em auto;
    }
    .box:first-child {
        margin-top: 0;
    }
    .center {
        text-align: center;
    }
    .demo-section.editor {
        max-width: 100%;
        border: none;
    }
    .demo-alert {
        font: normal 18px "Metric";
        border-radius: 2px;
        margin: 20px auto 40px auto;
        padding: 20px;
        border-left: 4px solid;
    }
    .demo-alert-success {
        border-left-color: rgb(55,180,0);
        background: rgba(55,180,0, 0.1);
    }
    .demo-alert-info {
        border-left-color: rgb(83,146,228);
        background: rgba(83,146,228, 0.1);
    }
    .demo-alert-error {
        border-left-color: rgb(243, 23, 0);
        background: rgba(243, 23, 0, 0.1);
    }
    .demo-alert-warning {
        border-left-color: rgb(255, 192, 0);
        background: rgba(255, 192, 0, 0.1);
    }
</style>
Completed
Last Updated: 16 Apr 2026 14:49 by ADMIN
Release 2026 Q2
Created by: Jeremi
Comments: 2
Category: UI for Blazor
Type: Bug Report
0

Description

When the dropdown is open, the button's aria-controls attribute references a value that matches the popup's data-id, not its actual id. Since aria-controls must point to an element's id, the attribute is invalid and no element in the DOM matches the reference, breaking the accessible relationship between the button and its popup. 

Button renders:

aria-controls="50dc5df2-b83e-41bd-8c34-98470aba77c6"

Popup element has:

data-id="50dc5df2-b83e-41bd-8c34-98470aba77c6"
id="8630d4e4-2f22-4eaf-b96c-7cae113b70ed"

Steps to Reproduce

  1. Add a TelerikDropDownButton using the standard Telerik example (source below).
  2. Open the dropdown and inspect the HTML or run a Lighthouse audit.
<TelerikDropDownButton Icon="@SvgIcon.Share" OnClick="@(()=>OnItemClick("Primary"))">
    <DropDownButtonContent>Share</DropDownButtonContent>
    <DropDownButtonItems>
        <DropDownButtonItem Icon="@SvgIcon.Facebook" OnClick="@(()=>OnItemClick("Facebook"))">Facebook</DropDownButtonItem>
        <DropDownButtonItem Icon="@SvgIcon.Twitter" OnClick="@(()=>OnItemClick("Twitter"))">Twitter</DropDownButtonItem>
        <DropDownButtonItem Icon="@SvgIcon.Linkedin" OnClick="@(()=>OnItemClick("Linkedin"))">Linkedin</DropDownButtonItem>
        <DropDownButtonItem Icon="@SvgIcon.Reddit" OnClick="@(()=>OnItemClick("Reddit"))">Reddit</DropDownButtonItem>
    </DropDownButtonItems>
</TelerikDropDownButton>


Completed
Last Updated: 16 Apr 2026 14:47 by ADMIN
Release 2026 Q2

When ActiveTabId is null, the TabStrip selects the first tab automatically, but does not render its content.

<TelerikTabStrip @bind-ActiveTabId="@TabStripActiveTabId">
    <TabStripTab Title="First" Id="t1">
        First tab content.
    </TabStripTab>
    <TabStripTab Title="Second" Id="t2">
        Second tab content.
    </TabStripTab>
    <TabStripTab Title="Third" Id="t3">
        Third tab content.
    </TabStripTab>
</TelerikTabStrip>

@code {
    private string? TabStripActiveTabId { get; set; }
}

Planned
Last Updated: 16 Apr 2026 14:46 by ADMIN
Scheduled for 2026 Q2

Bug report

Reproduction of the problem

Possibly related to https://github.com/telerik/blazor/issues/2594

  1. Run this example: https://blazorrepl.telerik.com/wAkdbZPo47oCuV5G32
  2. Without scrolling the Grid horizontally resize a non-locked column (e.g., In Stock)

Current behavior

(optional)

The first locked column (ID) is rendered after the second locked column (Product Name). When you resize a non-locked column, the ID column disappears and is revealed at its new position after you scroll the Grid horizontally.
The behavior is reproducible with RTL enabled.

Expected/desired behavior

The order of the locked columns should persist.

Environment

  • Telerik version: 13.0.0
  • Browser: [all]
Planned
Last Updated: 16 Apr 2026 14:45 by ADMIN
Scheduled for 2026 Q2

Telerik input components inside EditorTemplate render the whole grid on each keystroke

 

<AdminEdit>

As a workaround, you can use the standard Input components provided by the framework together with a CSS class that would visually make them like the Telerik Input Components. An example for the TextArea:

<InputTextArea class="k-textarea" @bind-Value="@myValue"></InputTextArea>

</AdminEdit>

1 2 3 4 5 6