Unplanned
Last Updated: 26 Jun 2025 16:08 by Marc
Created by: BENAISSA
Comments: 3
Category: UI for Blazor
Type: Feature Request
83
I would like to be able to customize the keyboard shortcuts in all applicable components in the Telerik UI for Blazor
Unplanned
Last Updated: 06 Jun 2025 13:58 by Joe
Created by: Joe
Comments: 7
Category: UI for Blazor
Type: Bug Report
6
There is a date picker bug where if you change the value to something invalid (ex: backspace the date or a portion of it), it will still be bound to the previous date value selected. If you click the picker and select the same date again, it will not register it as a date change and will not fire the value changed event. This causes the field to still show as invalid. To the end-user, it looks as if there is a problem and is telling them it is invalid. I had a customer notice this and they kept trying to reselect the date but nothing would happen. 

They eventually typed it manually to fix, which is one way that I agree can be used to resolve. You can also select the wrong date, followed by the right date to get around, but that is a horrible workaround. 

What I believe the experience should be is that when selecting the value in the date picker, regardless of what it thinks is in the field, it should fire the change event and update the text of the field to the date selected (and clear the validation message). That is what I'd like to see as a future change. Note that this happens on ValueChanged, but not OnChanged. OnChanged fires too late though, and doesn't work for most workflows.

We put in a hack solution in some operator UIs where it is very important to not have this happen, but it is a pain to do this for every picker, so most in the system are unhandled. 

The solution was to have OnOpen and OnBlur both manually trigger ValueChanged (which ends up sending default - 1/1/1901) using a reference for the control. This helps us differentiate if it is these events vs an actual date change. When it is OnOpen/OnBlur, we then reupdate the value in the reference and refresh. Note that you end up having to do this twice to "trick" the telerik logic. So we change to default, refresh, and then change to the correct (or last good value - what is already bound) and refresh. Basically now when they leave the field or click the picker, if there is an invalid value and message, it clears and gets replaced with the last good date. If there is a valid date, it does nothing from the user perspective.  
Unplanned
Last Updated: 06 Jun 2025 13:12 by ADMIN
Created by: Stefan
Comments: 1
Category: UI for Blazor
Type: Feature Request
1
It will be nice to have chart wizard on Blazor also
Unplanned
Last Updated: 03 Jun 2025 13:27 by Integrateurs-PES
Created by: Rick
Comments: 6
Category: UI for Blazor
Type: Feature Request
15

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.

Unplanned
Last Updated: 15 May 2025 09:16 by ADMIN
Created by: Jesper
Comments: 7
Category: UI for Blazor
Type: Feature Request
9
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.
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?

Unplanned
Last Updated: 02 Apr 2025 10:07 by ADMIN
Created by: Jared
Comments: 0
Category: UI for Blazor
Type: Feature Request
1
Making a feature request for functional parity to help people converting older Telerik versions. There is currently FilterMenuType.CheckBoxList and FilterMenuType.Menu, it would be useful to have a built in option for FilterMenuType.Both which is akin to the below examples so people can maintain user experience without having to install a <FilterMenuTemplate> into every column of every grid they use.

(https://docs.telerik.com/devtools/wpf/controls/radgridview/filtering/basic)


(https://docs.telerik.com/devtools/winui/controls/raddatagrid/filtering/datagrid-overview)

Unplanned
Last Updated: 26 Mar 2025 13:17 by ADMIN
Created by: Thomas
Comments: 9
Category: UI for Blazor
Type: Feature Request
28
The desired use case is to have the ColumnChooser as a separate component that is not dependent and opened from the menu of a specific column. I want to have the ability to open the ColumnChooser from a button in the Toolbar, for example.
Unplanned
Last Updated: 11 Mar 2025 17:34 by Dale

We use QueryableExtensions.ToDataSourceResultmethod to load some data in our component. And at some moment we need to cancel data loading. But ToDataSourceResult method doesn’t support CancellationToken. So we are forced to use a workaround and just ignore the task's result. But task is still executing and causing the performance hit

It would be great if you implemented support for this feature!

Unplanned
Last Updated: 12 Feb 2025 14:56 by Steven
Created by: Steven
Comments: 0
Category: UI for Blazor
Type: Feature Request
2

Add support for DateOnly and TimeOnly properties to the ToODataString() method in the DataSourceExtensions namespace.

===

TELERIK NOTE

@Steven I forked this thread from the already complete feature request Provide support for DateOnly and TimeOnly structs for the respective pickers

Currently DateOnly and TimeOnly types are not supported by the ToODataString() method. As a result, they are serialized with the default ToString() method. Please use DateTime instead or implement a custom serialization method. Downloading our source code and using the built-in method as a base is also an option.

===

ORIGINAL POST

Would you have any updates regarding this support for early 2024?
 
My main issue regarding this at the moment is:
- My Backend returns DTOs with DateOnly properties.
- I wish to use these properties in a grid
- So far... So good... We can see the items etc... But then...
- We want to filter these properties...
- When we get the OData query... Our DateOnly is not in the correct ISO format... As there's no support for those in DataSourceExtensions.cs
 
I already tried solving this by creating my own GridColumn type, but I'm afraid there's nothing I can do about the OData serialization without just writing our own DataSourceExtensions... At which point we're just making it confusing for other developers needing to include this...

public class DateOnlyGridColumn : GridColumn
{
    private DateOnly? _filterValue;
    public DateOnly? FilterValue
    {
        get => _filterValue;
        set
        {
            if (_filterValue != value)
            {
                _filterValue = value;
                StateHasChanged();
            }
        }
    }

    public DateOnlyGridColumn()
    {
        DisplayFormat = "{0:dd/M/yyyy}";
        FilterMenuTemplate = FilterMenu;
        FilterMenuButtonsTemplate = FilterButtons;
    }

    private RenderFragment<FilterMenuTemplateContext> FilterMenu => (context) => (builder) =>
    {
        builder.OpenComponent<TelerikDatePicker<DateOnly?>>(0);
        builder.AddAttribute(0, "Value", FilterValue);
        builder.AddAttribute(2, "ValueChanged", EventCallback.Factory.Create<DateOnly?>(this, (value) => FilterValue = value));
        builder.CloseComponent();
    };

    private RenderFragment<FilterMenuTemplateContext> FilterButtons => (context) => (builder) =>
    {
        // Filter button
        builder.OpenComponent<TelerikButton>(0);
        builder.AddAttribute(1, "OnClick", EventCallback.Factory.Create<MouseEventArgs>(this, async () => await ApplyFilter(context)));
        builder.AddAttribute(2, "ThemeColor", ThemeConstants.Button.ThemeColor.Primary);
        builder.AddAttribute(3, "ChildContent", (RenderFragment)(childBuilder =>
            childBuilder.AddContent(0, "Filter")));
        builder.CloseComponent();

        // Clear button
        builder.OpenComponent<TelerikButton>(4);
        builder.AddAttribute(5, "OnClick", EventCallback.Factory.Create<MouseEventArgs>(this, async () =>
        {
            FilterValue = null;
            await context.ClearFilterAsync();
        }));
        builder.AddAttribute(6, "ChildContent", (RenderFragment)(childBuilder =>
            childBuilder.AddContent(0, "Clear")));
        builder.CloseComponent();
    };

    private async Task ApplyFilter(FilterMenuTemplateContext filterContext)
    {
        if (filterContext == null || string.IsNullOrEmpty(Field) || !FilterValue.HasValue)
            return;

        var filter = new FilterDescriptor
        {
            Member = Field,
            MemberType = typeof(DateOnly),
            Operator = FilterOperator.IsEqualTo,
            Value = FilterValue.Value, //.ToString("o") Convert to ISO-8601 format
        };

        filterContext.FilterDescriptor.FilterDescriptors.Clear();
        filterContext.FilterDescriptor.FilterDescriptors.Add(filter);
        await filterContext.FilterAsync();
    }
}
Unplanned
Last Updated: 21 Jan 2025 20:23 by Mac
Created by: Humayoon
Comments: 1
Category: UI for Blazor
Type: Feature Request
15

Hi,

I would like to have a Expand/Collapse All Grid Groups button in the Grid Header. I know this is possible to do so programmatically outside of the grid but my users want it inside the Grid. 

Thanks,

Humayoon

Unplanned
Last Updated: 13 Jan 2025 17:11 by Xorcist
Created by: Xorcist
Comments: 0
Category: UI for Blazor
Type: Feature Request
2

When a user hits the ENTER key at the end of their typing and expects the full text to be submitted, they potentially have partial text being submitted (depending on how quickly ENTER is hit). We know the general accepted solution is to set the DebounceDelay to zero, but we are using two-way binding with state management that results in a very laggy/delayed experience while typing is this is done.

Please allow pressing Enter or blurring the input to short-circuit the debouncing.

===

ADMIN EDIT

===

This request applies to all inputs - NumericTextBox, TextBox, TextArea, etc.

Unplanned
Last Updated: 10 Jan 2025 09:05 by Meindert
Created by: Meindert
Comments: 1
Category: UI for Blazor
Type: Feature Request
4

Please add group header template for the select components. There are two goals:

  • Customize the group items' appearance.
  • Implement custom behaviors, for example - batch select or unselect of all items in the group by clicking on the group header.
Unplanned
Last Updated: 19 Dec 2024 11:56 by ADMIN

Hi Telerik Support

This is related to the feedback portal item:  The Grid header gets focus only for the first time when tabbing

I had raised the above issue, now I can see that the issue is fixed in 7.0.0. But the fix does not work when the TelerikGrid is inside a TelerikWindow. 

Please find the REPL sample https://blazorrepl.telerik.com/QIvmPrlI39rZ4whP10 

Is there a work around for the scenario where the grid is inside a popup window?

Regards

Bably

Unplanned
Last Updated: 29 Nov 2024 09:28 by ADMIN
Created by: Graham
Comments: 3
Category: UI for Blazor
Type: Feature Request
2

Hi,

Can I request that the Pdf Viewer:

- Load multiple pdf files on open. Maybe via an array of file names.

     - We use a different viewer due to this capability. For Human Resource files you need the ability to load numerous files into one viewer to show a complete
         document. The current one file option doesn't work for us.

- Display thumbnails of the loaded pages.
      - Thumbnail onclick to move to a specific page.

Regards,
Graham O'Riley

Unplanned
Last Updated: 25 Nov 2024 11:57 by ADMIN

Steps to reproduce:

  1. Insert a simple TelerikGrid on your page
  2. Add Columns with templates for each property
  3. Specify a Column Template

See https://blazorrepl.telerik.com/GyPvFMFr00zLEEdG00

Problem / Inconvenience

  • Context has to be converted/cast before access to the each property is possible
  • Grid columns are not generic which makes them hard to use sometimes
  • Fields have to be specified by name (may lead to wrong names after changing)

Solution / Feature Request

  • Provide new generic columns (to ensure no current implementations break)
  • Add [CascadingTypeParameter(nameof(TItem))] to the TelerikGrid
  • GridColumns automatically "inherit" the typeparam TItem

Idea from: Blazor QuickGrid

Benefits

  • GridColumns can be specified with Expression
  • Template context does not have to be cast anymore
  • Renaming properties affect expression or an error is display (property does not exist)
<GridColumn For="@(t => t.Name)">
        <Template>
                <div>
                    @item.Name
                </div>
        </Template>
</GridColumn>
Unplanned
Last Updated: 13 Nov 2024 12:03 by ADMIN
Created by: Nathan
Comments: 3
Category: UI for Blazor
Type: Feature Request
14
I'd like to be able to change the built-in icons that the components use. I currently can do that with custom solutions but I need an option to easily change all icons on a global app level (e.g. all save icons, all arrow-down icons, etc.). I have a custom icon set and I want to ensure consistency in the icons used throughout the app.
Unplanned
Last Updated: 01 Nov 2024 07:10 by ADMIN
Created by: shanthu
Comments: 5
Category: UI for Blazor
Type: Feature Request
27
Many applications need to play video content
Unplanned
Last Updated: 25 Oct 2024 15:55 by Charles
Created by: improwise
Comments: 7
Category: UI for Blazor
Type: Feature Request
52

I'd like to have an ExpansionPanel component where I can declare my desired panel instances and their content in the markup.

Similar to https://www.telerik.com/kendo-angular-ui/components/layout/expansionpanel/

Unplanned
Last Updated: 23 Oct 2024 13:46 by Nitesh

I get validation issues for the selection Checkboxes and the PageSizes dropdown as they do not have id or name attributes:

The behavior can be reproduced in the online demo: Blazor Data Grid - Overview

1 2 3 4 5 6