Pending Review
Last Updated: 27 Jul 2026 15:33 by Thomas
Created by: Thomas
Comments: 0
Category: UI for Blazor
Type: Feature Request
1

Hello,

I noticed that all component of ComboBox (DropDownList, DropDownTree, MultiColumnComboBox) which have a GroupField doesn't provide a GroupTemplate

It would be very helpful to have one to further customize how we want the group to render

 

For example in my case, I want to customize items and groups to add checkbox on each level and parent checkbox will select/unselect children, but because I don't have access to group template I can't do it.

I think I can work something with the DropDownTree, but it will be kind of ugly as the component is not suited for multi selection and will not be related to the component selections

Thanks
Regards
Thomas

Unplanned
Last Updated: 16 Jul 2026 06:06 by Nicholas
Created by: Nicholas
Comments: 0
Category: UI for Blazor
Type: Feature Request
1

Window, Dialog, and other popups render as children of TelerikRootComponent, which makes CSS Isolation difficult. Current strategy says to use containment selector or global scope css styles.

To allow CSS isolation to pass through, I'd like to see an additional "CssScope" attribute. For example:

<TelerikWindow CssScope="my-custom-scope">
</TelerikWindow>

Then when the window is rendered:

<div ... my-custom-scope>
....
</div>

 

Need More Info
Last Updated: 16 Jul 2026 06:58 by ADMIN
# Telerik UI for Blazor — TabStrip bug report

Two related defects in `TelerikTabStrip` when the tab headers wrap onto multiple rows.
Filed for GLS (Governance & Legislative System), the resolution submission form
(`/submit-resolution`), which has 12 tabs.

## Environment

- **Telerik UI for Blazor:** v14 (please fill in the exact build number from your
  `LegislationApplications` package reference before submitting)
- **.NET:** 10.0
- **Render mode:** Blazor **Server** (Interactive Server), no WebAssembly
- **Browser:** reproduced in Chromium-based browsers on a wide (≥1200px) window
- **Component config (abridged):**
  ```razor
  <TelerikTabStrip @bind-ActiveTabId="ActiveTabId"
                   PersistTabContent="true"
                   OverflowMode="TabStripOverflowMode.None"   @* wide screens *@
                   ScrollButtonsPosition="TabStripScrollButtonsPosition.Split"
                   ScrollButtonsVisibility="TabStripScrollButtonsVisibility.Auto">
      @* 12 TabStripTabs; several use Visible="@boolExpr" (conditionally shown);
         most use a <HeaderTemplate> that renders the title plus an optional indicator icon *@
  </TelerikTabStrip>
  ```
- On a wide window with `OverflowMode="None"`, the 12 tab headers **wrap onto two rows**
  (row 1 ends at "Budget Impact"; row 2 begins at "OGR Consultation").

---

## Bug 1 — Wrapped tabs: activating a tab at the wrap boundary shows the WRONG content panel

### Repro
1. Open a form whose tab headers wrap to two rows (wide window, `OverflowMode="None"`, enough
   tabs to force a second row).
2. Activate the tab that sits at the **end of the first row** (its immediate left neighbour is on
   the same row; its right neighbour is on the next row). In our form: activate **External
   Documents**, then click **Budget Impact** (last tab on row 1).

### Expected
Budget Impact’s content panel is displayed.

### Actual
- The Budget Impact **header** receives focus/active styling, but the **content area still shows
  the previous tab’s panel** (External Documents).
- It is **deterministic** from the left-neighbour: a 2-second pause before clicking does **not**
  help.
- **Workarounds that do make it switch:** double-clicking the tab, or first activating a tab on a
  **different row** (e.g. OGR Consultation) and then clicking Budget Impact once.

### Proof the server/binding side is correct (it is a client-side rendering defect)
We instrumented the `ActiveTabId` setter and component renders. On the failing single click:
```
ActiveTabId 'tab-submitter'          -> 'tab-external-documents'   (click External)
RENDER  activeTab=tab-external-documents
ActiveTabId 'tab-external-documents' -> 'tab-budget-impact'        (click Budget Impact)
RENDER  activeTab=tab-budget-impact
(no further activity)
```
So `ActiveTabIdChanged` fires with the correct id, `ActiveTabId` becomes `tab-budget-impact`, and
the component re-renders exactly once with the correct active tab — yet the browser keeps showing
the External Documents content panel. The subsequent “rescue” clicks that fix the display produce
**no** server activity at all, confirming the mismatch is purely in the component’s client-side
content-panel switching.

### Confirmed trigger: the wrapping
Forcing the tab headers onto a **single row** with CSS (no other change) makes the bug disappear
entirely — every tab activates its correct panel on the first click:
```css
.k-tabstrip-items-wrapper { flex-wrap: nowrap; overflow-x: auto; }
.k-tabstrip-items         { flex-wrap: nowrap; }
```
This is not an acceptable final fix for us (the product requires the wrapped, all-tabs-visible
layout), but it isolates the cause: **`TelerikTabStrip` mismaps the active content panel when its
headers wrap to more than one row.**

---

## Bug 2 — `OverflowMode="Scroll"` throws an exception for this configuration

### Repro
Set `OverflowMode="TabStripOverflowMode.Scroll"` (instead of `None`) on the same TabStrip
(12 tabs, `PersistTabContent="true"`, several tabs with `Visible="@expr"` including one that is
currently `Visible="false"`, and `<HeaderTemplate>`s).

### Actual
The page throws an unhandled exception on load / render (Blazor error UI). Reverting to
`OverflowMode="None"` removes the exception.

> **To complete this section before filing:** capture the exact exception type, message, and the
> top Telerik stack frames from the browser DevTools console or the app’s server log (Aspire
> dashboard → `legislationwebapp` resource) while `OverflowMode="Scroll"` is active. We suspect it
> relates to scroll-width measurement of a `Visible="false"` tab and/or `HeaderTemplate` tabs, but
> the stack trace will confirm.

---

## Why this matters / requested outcome

- Bug 1 forces a poor workaround (users must double-click or approach tabs from a specific
  direction) or a UX compromise (single-row scrolling instead of the required wrapped layout).
- Bug 2 blocks the natural single-row fix (`OverflowMode="Scroll"`).

We would like `TelerikTabStrip` to either (a) correctly map the active content panel when headers
wrap, or (b) provide a supported single-row/wrapping option that does not throw for this
configuration.
Unplanned
Last Updated: 07 Jul 2026 05:53 by ADMIN

The Telerik UI for Blazor TimePicker currently does not appear to expose an equivalent to the Kendo UI for jQuery TimePicker "focusTime" option.

https://github.com/telerik/kendo-ui-core/blob/master/docs/api/javascript/ui/timepicker.md#focustime-datedefault-null

In Kendo UI for jQuery, focusTime allows the popup to open with a specific time focused without actually setting the selected value. This is useful when the picker has no value yet.

For example, let's say we want the time-picker to open up with the placeholder value of 08:00, how would we achieve this in Telerik UI for Blazor? Currently it defaults the placeholder to the current time.

Thanks

Duplicated
Last Updated: 16 Jun 2026 06:01 by ADMIN
Being forced to implement OnRead requires me to deal with filtering and grouping behavior. The kendo.ui component allows me to just pass a sort delegate and not deal with filtering or grouping.
Unplanned
Last Updated: 26 May 2026 12:57 by ADMIN
Created by: Michal
Comments: 1
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: 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: 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:

 

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: 24 Jun 2026 05:34 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;
        }
    }
}


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>


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. 
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

Declined
Last Updated: 13 Feb 2026 07:10 by ADMIN
Created by: Thomas
Comments: 1
Category: UI for Blazor
Type: Bug Report
1

Hello

I notice that zoom on chart with numeric values make the axis values with a lot of decimal and didn't find a way to round them.

We can see it directly in the documentation here

Is there a way to keep the axis to rounded value ?

 

Thank you
Regards,
Thomas

 

Completed
Last Updated: 21 May 2026 06:46 by ADMIN
Release 14.0.0

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

 

Completed
Last Updated: 03 Feb 2026 15:18 by ADMIN
Created by: Ted
Comments: 1
Category: UI for Blazor
Type: Bug Report
0
Where is the latest Telerik for Blazor Accessibility Conformance Report? The one on this page is over two years old: https://www.telerik.com/blazor-ui/documentation/accessibility/compliance#accessibility-conformance-report

Most organizations follow a 12-month cycle or update their ACR whenever there's a significant product version change, whichever comes first, to remain in good standing.

Please update the latest Telerik for Blazor Accessibility Conformance Report for the current version of Telerik for Blazor. We need these reports for the US States that use our software and Telerik for Blazor. Without current, valid VPATs, we will have to discontinue use of Telerik for Blazor.

DevExpress for Blazor has a current VPAT here for example (latest report Dec, 2025): https://www.devexpress.com/products/net/accessibility/ACR-DevExpress-Blazor-25.2.pdf
1 2 3 4 5 6