Unplanned
Last Updated: 03 Jun 2025 13:27 by Integrateurs-PES
Created by: Rick
Comments: 6
Category: UI for Blazor
Type: Feature Request
18

I have been trying to improve my Lighthouse score with Google and one of the items it is tagging is the "telerik-blazor.js" file.  I have seen new practices where the JavaScript is imported as needed, see this article here from Microsoft.

Can you please consider this in the future?

===

Telerik edit: A possible workaround is to build the Telerik JavaScript file without some of the components that you don't need.

Declined
Last Updated: 02 Jun 2025 13:32 by ADMIN
Created by: Ed
Comments: 1
Category: UI for Blazor
Type: Feature Request
0

In the TelerikSignature control, the ExportScale property defaults to 2.  This causes the image size to be doubled without realizing it. While it can be useful to scale the exported image, the default should be 1, because that is the expected default output.


<TelerikSignature @bind-Value="Medlog.Signature" Width="700px" Height="120px" Smooth="true" StrokeWidth="2" PopupScale="2" ExportScale="1">
</TelerikSignature>

Declined
Last Updated: 02 Jun 2025 13:25 by ADMIN

Context

The website uses OAuth2 (AzureAd) & https with http version 1 :

"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http1"
}

Glitch

Crash systematically reproduced when user opens website.

Workaround

The issue can be can be manually & individually (per user) fixed by:

  • Executing the instruction: Navigation.NavigateTo($"MicrosoftIdentity/Account/SignOut", true);
  • Closing Edge browser
  • Opening back website
  • Answering OAuth 2 challenge (MicrosoftIdentity/Account/SignIn)

Our client is pushing hard for us to find an automatic solution / patch (which doesn't involve making multiple actions for his users like in my workaround).

Duplicated
Last Updated: 30 May 2025 14:24 by ADMIN
Steps to reproduce:
1) Run the following REPL: https://blazorrepl.telerik.com/wJEJlqvC26v5pK9R49
2) There are 2 TelerikDateInput components binded to the same variable, with a DateInputFormatPlaceholder different than the default "dd/MM/yyyy"
3) In the first TelerikDateInput enter a valid date value
4) Note that the second TelerikDateInput assumes the same value, which is correct
5) Enter an invalid value in the first TelerikDateInput by clearing the day part or the month part or the year part
6) The second TelerikDateInput component assumes the default placeholder, instead of the one specified in DateInputFormatPlaceholder
7) Click on the second TelerikDateInput component: it now assumes correctly the placeholder specified in DateInputFormatPlaceholder
The following gif showcases the scenario: https://i.gyazo.com/a9e1f2d3b87cdac19e4e6b71bdeccb38.mp4

This also affects all the Telerik components that have a <*Component*FormatPlaceholder> tag.
Here is a REPL link which contains many components that have a <*Component*FormatPlaceholder> tag: https://blazorrepl.telerik.com/QJaTlglC29a2s8Ys43
Declined
Last Updated: 28 May 2025 17:41 by ADMIN
When trying to use a separate blazor component that references pdf.js, I received the following error ```The API version "4.10.38" does not match the Worker version "4.6.82".```  I was able to narrow it down to the <script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js"></script> causing the conflict in versions.  Could this be updated to not expose the pdf.js version that Telerik uses globally, but instead isolate it?
Completed
Last Updated: 23 May 2025 08:32 by ADMIN
Release 9.0.0

Creating a new WebApp project template through the extension fails to build. This is caused by incorrect icon type in the MainLayout.razor file.

To make sure the app is correctly built, the Icon type should be FontIcon.

<TelerikButton Icon="@FontIcon.Menu"
               FillMode="@ThemeConstants.Button.FillMode.Clear"
               OnClick="@( () => DrawerExpanded = !DrawerExpanded )" />
Completed
Last Updated: 23 May 2025 08:31 by ADMIN
Release 9.0.0

It appears there are some issues with encoding special characters in the DataSourceExtensions.ToODataString extension method.

See snippet below. 

var ds = new DataSourceRequest()
{
	Filters = [new FilterDescriptor("FieldName", FilterOperator.IsEqualTo, "Route #")],
	Sorts = []
};
{
Console.WriteLine(ds.ToODataString());

$count=true&$filter=(FieldName%20eq%20%27Route%20#%27)&$skip=0

This results in a malformed url as the last part of of the query is interpreted as a fragment due to this character not being encoded.

Unplanned
Last Updated: 15 May 2025 09:16 by ADMIN
Created by: Jesper
Comments: 7
Category: UI for Blazor
Type: Feature Request
11
I am using MS Playwright to create End2End tests. It worked fine when we used MudBlazor, but after we migrated to telerik I have run into a problem with the TelerikDropDownList.

It stops working if you open it too fast. It goes into a state where no matter what you do (Rebind/changing data bound values etc.), it will not open and show items.

It can be reproduced easily by calling .Open() in OnInitializedAsync()

I have reproduced it without MS Playwright in REPL, so you can easily debug it.

https://blazorrepl.telerik.com/QIOUYoPc57iQKy6702

If you uncomment the await Task.Delay(3000); the code will work.

Expected behavior:
It is ok that Open() does nothing while the control is initializing. It is not ok that just because you called Open() once, then you are forever stuck without being able to open it later, no matter how long you wait or what you do with the items.

I do not want to insert random Delays in my code either as I expect the TelerikDropDownList to not malfunction just because I open it too early.

I hope you can prioritize this as right now the DropDownList is not usable for us.
Completed
Last Updated: 15 May 2025 08:46 by ADMIN
Created by: Matt
Comments: 3
Category: UI for Blazor
Type: Feature Request
2

I have a scenario in which we have user definable columns for a grid, including hundreds if not thousands that need to be ported from the old version of our product. This means these column keys would be strings that may contain spaces or even special characters - and as such cannot be a valid C# property name (which means using an ExpandoObject approach will not work)

 

It would be really beneficial if the TelerikGrid component could be given Data of an IEnumerable<Dictionary<string, object>> where the Field property of GridColumn (or a new property) would line up with a key in that dictionary rather than a field name for the component to then use reflection with.

 

A customer with multiple modules of our product installed may very well have columns with similar names, i.e "Some Key", "SomeKey", "Some_Key", "Some & Key" - so simply replacing spaces or special characters may not always still give unique keys.

Completed
Last Updated: 09 May 2025 14:32 by ADMIN
Created by: Kacper
Comments: 1
Category: UI for Blazor
Type: Feature Request
0

Hi, 

Are you planning to add a loader to the grid in the feature?

E.g as an isLoading attribute or exepnd the build-in one?

With method OnRead to fetch data, when grid is not yet loaded with data, it displays no records available.

Also when chenging data, loading is not starting, but there is an unsmooth transition after some time. 

 

Thanks in advance for your time, Kacper

Completed
Last Updated: 25 Apr 2025 09:44 by ADMIN

We are using Telerik UI for Blazor (V6.2.0) grid. The first 3 columns (Delivery No, Spot Check, Spotcheck Status) of the grid are frozen/locked. While horizontal scrolling the header text gets overlapped. We have used custom CSS to change the header color.

<TelerikGrid @ref="@GridRef" Data="@dashboardData"
             Reorderable="true"
             SortMode="@SortMode.Single"
             Pageable="true"
             FilterMode="GridFilterMode.FilterRow"
             PageSize="10"
             EnableLoaderContainer="true"
             Sortable="true" Context="inboundContext" OnRowRender="@OnRowRenderHandler" Width="1800px" Height="500px">

    <GridColumns>
        @foreach (var header in tableHeader)
        {
            @if (@header.id == "SpotCheck")
            {
                <GridColumn Field="@(nameof(@header.id))" Width="150px" Title="@header.headerName" Visible="@header.isVisible" Locked="true" Reorderable="false" Filterable="false">
                    <Template>
                        @{
                            var item = (Delivery)context;
                            var isVisible = (item.DeliveryType.Equals("IN") && !string.IsNullOrEmpty(item.EUDRRefAndVerificationId));
                        }
                        <div class="spot-check-btn">
                            <TelerikButton Class="custom-btn custom-btn-secondary" OnClick="()=>reDirectTo(item.Id)" Visible="isVisible">Spot Check</TelerikButton>
                        </div>
                    </Template>

                </GridColumn>
            }
            else if (@header.id == "status")
            {
                <GridColumn Field="@(nameof(@header.id))" Title="@header.headerName" Visible="@header.isVisible" Width="150px">
                    <Template>
                        @{
                            var item = (Delivery)context;
                            <span class="status-data @item.Status.ToLower()">
                                <span class="dot"></span>@item.Status
                            </span>
                        }
                    </Template>

                </GridColumn>
            }
            else if (@header.id == "SpotcheckStatus")
            {
                <GridColumn Field="@header.id" Title="@header.headerName" Width="150px"
                            OnCellRender="@((e) => OnCellRenderHandlerSpotcheckStatus(e))"
                            Visible="@header.isVisible" Locked="true" Reorderable="false">
                </GridColumn>
            }
            else
            {
                <GridColumn Field="@header.id" Title="@header.headerName" Width="150px"
                            OnCellRender="@((x) => OnCellRenderHandler(x, @header.id))"
                            Visible="@header.isVisible" Locked="@header.Locked">
                </GridColumn>

            }
        }
    </GridColumns>
    <NoDataTemplate>
        <p><strong style="color: var(--kendo-color-primary);">No Data Available.</strong></p>
    </NoDataTemplate>
</TelerikGrid>
Unplanned
Last Updated: 24 Apr 2025 06:35 by ADMIN
Created by: Anislav
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

In the Appearance section of the ContextMenu component documentation on the Progress Design System Kit website (https://www.telerik.com/design-system/docs/components/contextmenu/#size), it is stated that:

The ContextMenu provides the size configuration option that enables you to control how big or small the rendered submenu items in the popup will be.

I’ve observed that this functionality is implemented in at least one library—Kendo UI for Angular (https://www.telerik.com/kendo-angular-ui/components/menus/contextmenu/appearance#size).

Is there a plan to introduce support for the Size parameter in the ContextMenu component of the Telerik UI for Blazor library?

Declined
Last Updated: 17 Apr 2025 09:54 by ADMIN
Created by: Frank
Comments: 1
Category: UI for Blazor
Type: Bug Report
0

Hello,

I am currently reworking an old webapp with server-side Blazor and Telerik UI for Blazor. I noticed that TelerikDialogs kind of break the rerendering of child components if the TelerikDialog and all of its content are placed inside their own component:

<PageTitle>Home</PageTitle>

<EditWithDialog @ref="EditDialogInside"></EditWithDialog>

Where EditWithDialog is (basically) defined as follows:

<TelerikDialog @ref="Dialog" @bind-Visible="@Visible">
	<DialogTitle>
		Edit ID
	</DialogTitle>
	<DialogContent>
		<div>
			<div>TelerikDialog inside of component</div>
			<TelerikTextBox Value="@AppState.CustomerString" OnChange="@SetID" Width="300px"></TelerikTextBox>
			<TelerikButton OnClick="@GenerateID">Generate ID</TelerikButton>
		</div>
	</DialogContent>
	<DialogButtons>
		<TelerikButton OnClick="@ToggleVisible">Close</TelerikButton>
	</DialogButtons>
</TelerikDialog>

 

However, if the TelerikDialog is placed on a page and its content is placed inside of its own component, everything works as expected:

<PageTitle>Home</PageTitle>
<TelerikDialog @bind-Visible="@Visible">
	<DialogTitle>
		Edit ID
	</DialogTitle>
	<DialogContent>
		<div>
			<div>TelerikDialog outside of component</div>
			<EditWithoutDialog @ref="EditDialogOutside"></EditWithoutDialog>
		</div>
	</DialogContent>
	<DialogButtons>
		<TelerikButton OnClick="@ToggleEditOutside">Close</TelerikButton>
	</DialogButtons>
</TelerikDialog>

EditWithoutDialog.razor:

<TelerikTextBox Value="@AppState.CustomerString" OnChange="@SetID" Width="300px"></TelerikTextBox>
<TelerikButton OnClick="@GenerateID">Generate ID</TelerikButton>

I am using the state-container approach described here, but the problem persists when using two-way binding via parameters.

In this scenario, putting the dialog directly on the page is not a problem, but with larger applications where there's possibly multiple dialogs and a lot more content on one page, this can become very unwieldy and confusing. Considering Blazors emphasis on making components reusable, this also prevents proper use of a customized dialog component that uses the TelerikDialog as a base.

I have attached a small project that implements both versions on a single page for you to test. I have tested using both Edge and Firefox.

Declined
Last Updated: 16 Apr 2025 11:28 by ADMIN

Hi there,

I have a TelerikGrid with a DateTime column. I use a custom FilterEditorFormat which is localizable depending on the user settings, e.g. "dd/MM/yyy HH:mm:ss". Unfortunately, any '/' in the date component is always replaced by the current culture's DateSeparator. Using any other separator works, e.g. '-'. 

Expectation: Use the FilterEditorFormat without modification, unless it's a standard format string like "g" or "D".

I already traced it down to Telerik's FormatHelper class and it seems like a quick fix.

Steps to reproduce:

  • Create a TelerikGrid with a DateTime column and a FilterEditorFormat as shown above.
  • If required, change the DateSeparator to anything else but '/'.
  • Run and open the filter dialog

Please let me know if you need any additional information.

Best regards

Andreas

Duplicated
Last Updated: 16 Apr 2025 07:49 by ADMIN
Created by: Nathan
Comments: 2
Category: UI for Blazor
Type: Feature Request
1
I would be very helpful if the Window and Dialog components had a "CloseOnEsc" Boolean Parameter that would control what would happen if the Esc key was pressed while the dialog is visible.
Completed
Last Updated: 16 Apr 2025 07:49 by ADMIN
Currently, Telerik UI for Blazor offers two components that address different interface needs: the SplitButton, which provides a primary action with a dropdown of secondary actions, and the FloatingActionButton, which enables a floating UI element for a single prominent action. While both serve their roles well, there is no built-in option that combines the floating behavior of the FAB with the dropdown structure of the SplitButton. This leaves a gap in scenarios where a floating control with both a primary and expandable set of actions is needed, especially in mobile-first designs. While it’s technically possible to mimic this with CSS, the result is less reliable and lacks the flexibility and structure of a native solution. A combined FloatingSplitButton component would allow developers to build consistent, responsive interfaces that benefit from built-in theming, safe area awareness, and popup templates without complex workarounds.
Duplicated
Last Updated: 07 Apr 2025 10:59 by ADMIN
Created by: Erik
Comments: 0
Category: UI for Blazor
Type: Feature Request
1

I have come across a few instances where it would be awesome if the Data Collection on a MultiSelect, or even a DropDown could have a dynamic property to denote if the option in the collection is selectable. The use case is around items being disabled but remain intact on historical records. If I remove the item currently from the collection then the component no longer shows the item as selected because it isnt in the collection. If I leave the item in the collection, then it shows, but, can then be selected on future items, which I dont want. Would be awesome if I could pass a component parameter, similar to TextField, which is the bool property for if the option in the dropdown is selectable/disabled. This would then make it so that the item could be REMOVED, but not readded or selected on future records unless the value for the property was set back to true. 

Duplicated
Last Updated: 07 Apr 2025 06:42 by ADMIN
Created by: Ken
Comments: 0
Category: UI for Blazor
Type: Feature Request
1

Please add a property (e.g., OpenOnFocus or AutoOpenOnEdit) to dropdown-based components (such as DropDownList, ComboBox, or inline grid editors) to automatically open the dropdown when the component gains focus or enters edit mode.


Why This Matters

In data-dense UIs — like inline grid editing, cutover task assignment, or status changes — users often need to:

 

  • Quickly select from a known list, such as Status, Owner, or Type.
  • Tab rapidly through form fields without needing extra clicks.
  • Use keyboard-only navigation efficiently.

Currently, dropdowns often require an additional manual click to open — which slows down power users and disrupts workflows in editable grids.


Declined
Last Updated: 04 Apr 2025 11:51 by DRASKO
Created by: DRASKO
Comments: 2
Category: UI for Blazor
Type: Bug Report
1

Hello,

related to my previous bug report.

When Add / Edit is clicked in the Grid, it causes a Dialog to open. 

The dialog has a Form, and if the model for that form is set through OnParametersSet, the method is called in an infinite loop, and the Dialog never gets shown.

Duplicated
Last Updated: 04 Apr 2025 11:29 by ADMIN
Created by: Jared
Comments: 1
Category: UI for Blazor
Type: Feature Request
0

Grids honor the [DisplayFormat(DataFormatString ... )] annotation for column content, but the FilterMenuType.CheckBoxList filter menu and the TelerikCheckBoxListFilter component don't. This is particularly noteworthy for formatting that truncates the contents such as DateTime which frequently tracks data smaller than user's care about, which can generate many visually identical checkboxes. To go along with the requested change, it would be nice if the filter matched off of the DisplayFormat string considering that is what the user sees and would therefore be referencing, since again, many DataFormatStrings can truncate data.

Because the TelerikCheckBoxListFilter component requires the field to match the data type of the grid's field, there isn't a way for the programmer to choose to show the filter menu with a checklist that matches the displayed values without building a fully custom FilterMenuTemplate with their own foreach loop and then figuring out a way to construct a CompositeFilterDescriptor filled with bracketing FilterDescriptors to account for the range of matching values. This is doubly troublesome since using the structure of CompositeFilterDescriptors needed to do that is not supported in the FilterMenuTemplate without also having to override the FilterMenuButtonsTemplate.

Generally speaking, it would make more sense to the users if the default options in the filter logically and visually matched with the default displayed values.

Reference material:
Grid column contents: https://www.telerik.com/blazor-ui/documentation/components/grid/columns/display-format
Checkbox List: https://www.telerik.com/blazor-ui/documentation/components/grid/filter/checkboxlist
Alternate FilterDescriptor shapes not supported: https://feedback.telerik.com/blazor/1681745-clear-button-in-grid-filtermenu-not-properly-clearing-custom-filter

Example Repl: https://blazorrepl.telerik.com/mJOSuxQw117zM1h321