Pending Review
Last Updated: 19 May 2026 13:35 by Michal
Created by: Michal
Comments: 0
Category: UI for Blazor
Type: Feature Request
0

Hello,

 after playing with AI chat integration with telerikgrid, few bumps up shows:

lets have this scenario- request from aichat, to perform some filtering/operations on grid with clumn names like col1,col2,col3... generic.

            
        public async Task<GridAIResponse> GetGridAIData(GridAIRequestDescriptor request)
        {
            var options = new ChatOptions();
            var columnsx = JsonSerializer.Deserialize<List<GridAIColumn>>(JsonSerializer.Serialize(request.Columns));
              options.Tools = new List<AITool>();
               options.Tools.Clear();
     1)   //describe the columns or general behavior like "aprox, arround, near"
            var ff = ChatOptionsExtensions.GetFilter(columnsx);
            ForceSetDescription(ff, @"
If users enters phrases like 'aprox', 'arround', 'near',
operate with field value in between ±10 %.
Example: 'dimensions arround 1000'  results in: 'dimension >= 900 AND dimension<= 1100'.
");

            options.Tools.Add(ff);
options.Tools.Add(ChatOptionsExtensions.GetSort(columnsx));

ChatResponse completion = await _chatClient.GetResponseAsync(conversationMessages, options);
....
return completion.ExtractGridResponse();
}

how to extend "GridAIRequestDescriptor"?
1) -
ability to describe column(add). but Description is readonly (coders should add titles or any text manually from column definition - be aware. grid IColumn is accessible only by reflection just now)
OR
2) - ability to specify the "meaninfgull name" (place, where coders can add this)
OR
3)- instead of using just "Fieldname"  of the column, use/add the Title(which is more understandable for LLM)
OR
4) field mapping translation layer. GridColumn.Field -> something descriptive and back after fetching response from LLM

fieldnames are mostly "system DB name" and cannot be changed. So FieldName="Column44qty" and Title="qty available stock", you get the point which one tells you more.

new[]
{
new {
Field = "Column44qty",
Title = ""qty available stock",
Type = "number",
Description = "......",
Values = new[] { "x", "yyy", "zzz" }
},...
}

all points 1-4 are not needed, just one of them is ok.

Duplicated
Last Updated: 18 May 2026 14:01 by ADMIN
Created by: Patrik
Comments: 1
Category: UI for Blazor
Type: Bug Report
0

Hi

I have an TelerikMenu with a mix of internal and external links. The menu is using Data binding to a list of menu items. When using the mouse and clicking the external links it works as expected.
However when using the tab to set focus into the menu, then using the arrow keys to navigate to a menu item then hit Enter key, the link opens in the current tab, even if it set to target="_blank".

In this REPL the Enter key does nothing when at Telerik/Documentation and hitting Enter: 
https://blazorrepl.telerik.com/mgYflMuM27MjqZrD54

In my case, the URL is opened in the current tab, instead of a new tab.
I'm using ItemTemplade to render the links and my template for external links looks like this:

if (item.IsExternal) { <ahref="@item.Url"class="@cssClass"target="_blank"rel="noopener noreferrer" @onclick="() => { if (isMobile) CloseMobileMenu(); }" @onclick:stopPropagation="!isMobile"> @item.Text <TelerikSvgIconIcon="@SvgIcon.HyperlinkOpen"Size="@ThemeConstants.SvgIcon.Size.Small"Class="@(isMobile ? "ms-2" : "ms-2")"/></a> }

 

The rendered HTML looks like this:

    <li data-id="595df6d2-0580-42fd-999d-37f73afedcb6" tabindex="-1" class="k-item k-menu-item " role="menuitem" aria-live="polite"><span class="k-link k-menu-link "><div class="d-flex align-items-center justify-content-between w-100 px-2"><a href="https://theurl.com/an/l/45" class="k-menu-link-text" target="_blank" rel="noopener noreferrer">Go to external page<!--!-->
                    <!--!--><span class="telerik-blazor ms-2 k-icon-sm k-icon k-svg-icon k-svg-i-hyperlink-open" aria-hidden="true"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!--><path d="M32 480h448V256h-32v192H64V64h192V32H32zM320 32l56.9 56.9.5.5L224 242.7l45.3 45.3 153.3-153.4L480 192V32z"></path></svg></span></a></div></span></li>


I'd rather nog involve js-hacks to solve this issue. Is this a known bug or am i doing it wrong?

Unplanned
Last Updated: 14 May 2026 13:30 by ADMIN

Please consider adding a pluggable runtime localization provider for Telerik UI for Blazor, primarily targeting Blazor WebAssembly scenarios.

This request is not critical for ASP.NET MVC / Razor / Blazor Server, where IDisplayMetadataProvider already provides a valid extensibility point for custom localization. However, Blazor WebAssembly has no equivalent mechanism, which creates a significant limitation.


Problem (Specific to Blazor WebAssembly)

In Blazor WebAssembly:

  • DisplayAttribute is static and reflection‑based
  • It cannot use DI, async logic, tenant context, or database access
  • MVC metadata extensions such as IDisplayMetadataProvider are not available

As a result, Telerik components can only resolve UI text via:

  • DisplayAttribute
  • .resx resources

This makes it impossible to integrate:

  • Database‑driven localization
  • Multi‑tenant localization
  • User‑editable translations
  • Runtime language switching

Why This Matters

In modern Blazor WebAssembly (SPA) applications, localization is often:

  • Runtime‑resolved
  • Backed by a database
  • Tenant‑ and user‑aware

Other libraries already support this model through pluggable localization providers.
A good example is FluentValidation, which allows localization logic to be resolved at runtime via DI, including custom providers and non‑resource‑based implementations.

References:

Because Telerik UI for Blazor does not expose a similar extensibility point, developers are forced to manually specify labels, headers, and enum texts throughout the UI, losing the benefits of automatic localization.


Suggested Direction

Introduce an optional localization provider that Telerik components can use when resolving UI text:

  • Keep full backward compatibility with DisplayAttribute
  • Enable advanced runtime‑based localization scenarios in Blazor WebAssembly where static attributes are insufficient

This would significantly improve Telerik UI’s suitability for enterprise and multi‑tenant Blazor WASM applications, without impacting existing server‑side solutions.

Completed
Last Updated: 11 May 2026 08:23 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: 24 Apr 2026 13:13 by ADMIN
Created by: Neal
Comments: 1
Category: UI for Blazor
Type: Feature Request
0
Requesting a data control that works like a UITableView in iOS or data lists in Android. List data with a push into an editor, etc. with animation. Options to push, show modal, etc. replicating standard data lists on mobile phones and tablets so we can create a UI that acts more like what they are accustomed to for data.
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>


Duplicated
Last Updated: 15 Apr 2026 08:13 by ADMIN
Created by: Kostas
Comments: 1
Category: UI for Blazor
Type: Feature Request
11
DropDown TreeList would be one thing that would sky rocketed the component suite.
In Development
Last Updated: 09 Apr 2026 12:23 by ADMIN
Scheduled for 2026 Q2
Created by: Kelly
Comments: 12
Category: UI for Blazor
Type: Feature Request
68
Once Drag and Drop is available, it would be nice to have Kanban board component with fully configurable cards.
Unplanned
Last Updated: 06 Apr 2026 14:39 by ADMIN

Title: WCAG 1.3.1: Ensures elements with an ARIA role that require child roles contain them (#\39 374a450-079d-4586-b823-d6bc7723505f)
Tags: Accessibility, WCAG 1.3.1, aria-required-children

Issue: Ensures elements with an ARIA role that require child roles contain them (aria-required-children - https://accessibilityinsights.io/info-examples/web/aria-required-children)

Target application: Hermes Home - https://localhost/TrafficLoss

Element path: #\39 374a450-079d-4586-b823-d6bc7723505f

Snippet: <div class="k-grid-aria-root" id="9374a450-079d-4586-b823-d6bc7723505f" role="grid" aria-label="Data table">

How to fix: 
Fix any of the following:
  Element has children which are not allowed (see related nodes)
  Element has no aria-busy="true" attribute

Environment: Microsoft Edge version 111.0.1661.41

====

This accessibility issue was found using Accessibility Insights for Web 2.37.3 (axe-core 4.6.3), a tool that helps find and fix accessibility issues. Get more information & download this tool at http://aka.ms/AccessibilityInsights.

 

============================  code =============================

                           <TelerikGrid Data="@ViewModel.RDLInformation" TItem="TLSummary"
                                                        Pageable="true" 
                                                        Sortable="true" 
                                                        Groupable="false"
                                                        FilterMode="Telerik.Blazor.GridFilterMode.FilterRow"
                                                        Resizable="true" 
                                                        Reorderable="true"
                                                        Height = "100%">

....

                            </TelerikGrid>

Unplanned
Last Updated: 03 Apr 2026 12:37 by ADMIN
Created by: Stefan
Comments: 1
Category: UI for Blazor
Type: Feature Request
1
it will be nice to have possibility to select multiple values with TelerikDropDownTree like MultiSelect 
Declined
Last Updated: 31 Mar 2026 09:43 by ADMIN

Issue: Opening and closing a window will cause the window to reopen with each following OnClick. This seems to have been introduced with the upgrade to .net10

Code: Below is an example used on the basic Telerik Blazor template. Copy this and replace Home.razor with it.

@page "/"

<PageTitle>Telerik Blazor App | Home</PageTitle>

<div id="home-page">
    <HomeSvg />

    <h1>Hello, Telerik UI for Blazor!</h1>

    <p>Welcome to your new Telerik Blazor app.</p>

    <TelerikButton OnClick="OpenWindow1">Click Here First</TelerikButton>
    <TelerikButton OnClick="OpenWindow2">Click Here Second</TelerikButton>
    <TelerikButton OnClick="@(async () => {await Task.Delay(100);})">Unrelated OnClick</TelerikButton>


</div>

<TelerikWindow Visible="ShowWindow1">
    <WindowActions>
        <WindowAction OnClick="CloseWindow1" Name="Close"></WindowAction>
    </WindowActions>
    <WindowContent>
        <span>Moving window now will help find this window in next step, but not necessary to replicate bug.</span>
        <br />
        <span>Close window using 'X'.</span>
    </WindowContent>
</TelerikWindow>

<TelerikWindow Visible="ShowWindow2">
    <WindowActions>
        <WindowAction OnClick="CloseWindow2" Name="Close"></WindowAction>
    </WindowActions>
    <WindowContent>
        <span>Window 1 shouldn't be appearing now, but it it is. Window 1 may be behind this window if you didn't drag in previous step.</span>
        <br />
        <span>If you close these windows, and click the 'Unrelated OnClick' button, both of these windows will reappear, despite just firing Task.Delay(100)</span>
    </WindowContent>
</TelerikWindow>

<style>
    #home-page {
        margin-left: auto;
        margin-right: auto;
        max-width: max-content;
        text-align: center;
        font-size: var(--kendo-font-size-xl);
    }

    @@media (min-height: calc(56px + 50px + 400px)) {
        /* header + footer + home page container*/
        #home-page {
            margin-top: calc(50vh - 28px - 25px - 200px);
        }
    }
</style>

@code {
    public bool ShowWindow1 { get; set; }
    public bool ShowWindow2 { get; set; }

    public async Task OpenWindow1()
    {
        ShowWindow1 = true;
    }

    public async Task OpenWindow2()
    {
        ShowWindow2 = true;
    }

    public void CloseWindow1()
    {
        ShowWindow2 = false;
        StateHasChanged();
    }

    public void CloseWindow2()
    {
        ShowWindow2 = false;
    }
}


Unplanned
Last Updated: 16 Mar 2026 09:27 by ADMIN

Description

When the dropdown is open, the input's aria-activedescendant attribute references an id that does not exist in the DOM. Since aria-activedescendant must point to the id of an actually rendered option element, the attribute is invalid and assistive technologies cannot determine which option is currently active.

Input renders:

aria-activedescendant="b45bcb14-4093-4de8-ad31-cae8ec8ca9c4"
None of the rendered <li> option elements have this id.

Steps to Reproduce

  1. Add a TelerikMultiSelect using the standard Telerik example (source below).
  2. Open the dropdown and inspect the HTML or run a Lighthouse audit.
<TelerikMultiSelect Data="@Hobbies"
@bind-Value="@SelectedHobbyIds"
ValueField="@nameof(HobbiesDto.HobbyId)"
TextField="@nameof(HobbiesDto.HobbyName)"
Placeholder="Select your favourite sport..."
Id="multiselect"
Width="100%"
Rounded="@ThemeConstants.DropDownList.Rounded.Medium"
FillMode="@ThemeConstants.AutoComplete.FillMode.Outline"
TagMode="@MultiSelectTagMode.Single"
ShowClearButton="false">
    <MultiSelectSettings>
        <MultiSelectPopupSettings Height="@CustomThemeConstants.Multiselect.PopupHeight" MaxHeight="@CustomThemeConstants.Multiselect.PopupMaxHeight" />
    </MultiSelectSettings>
</TelerikMultiSelect>

@code {
    public List<int> SelectedHobbyIds { get; set; } = [];

    public IEnumerable<HobbiesDto> Hobbies { get; set; } = new List<HobbiesDto>()
    {
        new HobbiesDto(1, "Basketball"),
        new HobbiesDto(2, "Golf"),
        new HobbiesDto(3, "Baseball"),
        new HobbiesDto(4, "Table Tennis"),
        new HobbiesDto(5, "Volleyball"),
        new HobbiesDto(6, "Football"),
        new HobbiesDto(7, "Boxing"),
        new HobbiesDto(8, "Badminton"),
        new HobbiesDto(9, "Cycling"),
        new HobbiesDto(10, "Gymnastics"),
        new HobbiesDto(11, "Swimming"),
        new HobbiesDto(12, "Wrestling"),
        new HobbiesDto(13, "Snooker"),
        new HobbiesDto(14, "Skiing"),
        new HobbiesDto(15, "Handball"),
    };

    public class HobbiesDto
    {
        public int    HobbyId   { get; set; }
        public string HobbyName { get; set; } = string.Empty;

        public HobbiesDto() { }

        public HobbiesDto(int id, string name)
        {
            HobbyId = id;
            HobbyName = name;
        }
    }
}


Planned
Last Updated: 13 Mar 2026 19:08 by ADMIN
Scheduled for 2026 Q2

The following exception occurs:

Microsoft.JSInterop.JSDisconnectedException: JavaScript interop calls cannot be issued at this time. This is because the circuit has disconnected and is being disposed.

............

at Telerik.Blazor.Components.Common.Loader.ComponentLoaderContainer.DisposeAsync()

When the user closes the browser and the web page contains any of the below components:

  • DockManager
  • FileManager
  • Grid
  • ListView
  • PdfViewer
  • PivotGrid
  • Scheduler
  • SpreadSheet
  • TreeList

 

Unplanned
Last Updated: 12 Mar 2026 14:59 by ADMIN

This public feature request:

  • Explains how the TelerikRootComponent works.
  • Outlines the problems of the current software design in static .NET 8 Blazor apps.
  • Measures customer demand for a major change that may possibly resolve the current limitations.

How the TelerikRootComponent Works

Historically, the TelerikRootComponent was designed with the following purposes:

  • To host and render all Telerik Blazor popups as RenderFragments. This means that all popups are rendered where the TelerikRootComponent is defined in the application's component hierarchy. In most cases, correct popup position requires the TelerikRootComponent to wrap all the content on the web page. Otherwise the correct position is not guaranteed and this is documented. In addition, the TelerikRootComponent instance is a CascadingValue, which allows it to collect all popup RenderFragments.
  • The TelerikRootComponent exposes parameters for global application-wide Telerik settings, such as icon type or RTL support. This is another reason why it makes sense to have a single TelerikRootComponent that wraps all the page content.

Problems and Limitations in .NET 8 Blazor Static Apps

.NET 8 Blazor apps with "Per Component" interactivity location create a big challenge for the above state of affairs:

  • Cascading values do not pass across render mode boundaries. .NET 8 includes a new feature for passing cascading values to interactive components (builder.Services.AddCascadingValues()), but this mechanism does not support passing of RenderFragments, because they are not JSON serializable. This brings the requirement that the TelerikRootComponent is part of an interactive component hierarchy.
  • When the TelerikRootComponent is in a non-layout .razor file, it triggers more re-renders than normally. They are related to internal MediaQuery instances and all popups, which the root component manages.

So, developers who work with a globally static app with specific interactive components ("islands of interactivity") may need to:

  • Place the TelerikRootComponent somewhere inside the component hierarchy, so it can't wrap all the page content. This will lead to wrong popup position.
  • Use multiple TelerikRootComponents. This requires to define the same parameters for each TelerikRootComponent instance.

Next Steps

All developers who develop static .NET 8 Blazor apps with "Per Component" interactivity location:

  1. Please vote for this feature request, so that we can measure how many customers are affected by the described limitations.
  2. Post here and describe:
    • Why do you need to use apps with "Per Component" interactivity.
    • Your specific challenges with the current TelerikRootComponent setup.
Unplanned
Last Updated: 11 Mar 2026 09:28 by ADMIN

Currently working on moving from winform to Blazor and found a feature not supported in Telerik atm.

Getting current error when trying to enable Virtualiztion inside a grid

Groupable is not supported with the Virtualization feature of Telerik Grid

Where im already setting grouping on one of the columns

Unplanned
Last Updated: 24 Feb 2026 21:46 by Mike
Created by: BENAISSA
Comments: 7
Category: UI for Blazor
Type: Feature Request
86
I would like to be able to customize the keyboard shortcuts in all applicable components in the Telerik UI for Blazor
Unplanned
Last Updated: 23 Feb 2026 08:45 by ADMIN
Created by: Amanatios Amanatidis
Comments: 1
Category: UI for Blazor
Type: Feature Request
1

Hello,

We want the grid column chooser to have a search bar for the user to search what column they need to add/remove to the grid.
We use many non-visible columns in our grid and allow the user to customize what they want to see via the column chooser.  
However, since the user cannot search the available columns they have to scroll with their mouse through a large list to find what they want.
(Notice the scroll bar in the following screenshot)

 

Thank you

Declined
Last Updated: 19 Feb 2026 10:48 by ADMIN
Created by: Peter
Comments: 1
Category: UI for Blazor
Type: Feature Request
0


Hi, 

   I have a new laptop with a fresh install of visual studio and telerik etc etc.  When I went to get the ai coding assistants to work, nothing I did worked.  Spent hours trying to figure it out when Claude suggested I install NODE.  After I did that, and went the the telerik blazor extension to "Configure MCP server globally" the ai worked.

   First, have the configuration check to see if node is working and installed and give a warning if it is not, or let people know that it needs to be installed to make it work.  Secondly, add this to the documentation.  Such a pain in the ass when the documentation isn't complete.  The amount of time i spent on this is stupid compared to how simple the solution was.

Peter

Completed
Last Updated: 19 Feb 2026 07:42 by ADMIN
Release 2026 Q1 (Feb)
Created by: Maria
Comments: 6
Category: UI for Blazor
Type: Feature Request
85

I would like a comopnent similar to this one https://demos.telerik.com/kendo-ui/dropdowntree/index

The goal is to be able to show and select hierarchical data, because the multiselect is flat https://demos.telerik.com/blazor-ui/multiselect/overview

Unplanned
Last Updated: 18 Feb 2026 13:35 by ADMIN
Created by: Ivan
Comments: 0
Category: UI for Blazor
Type: Feature Request
0
Add the option to specify the initially selected tool within the Grid's GridToolBarSmartBoxTool. Currently, when the Search, Semantic Search, and the AI Assistant are enabled, the Search tool is selected by default. 
1 2 3 4 5 6