Duplicated
Last Updated: 08 Feb 2024 08:52 by ADMIN
Created by: Oliver
Comments: 0
Category: UI for Blazor
Type: Bug Report
3

The following code successfully renders the pdf viewer when the edit form is commented out, but when indside the pdf viewer it fails to render and gives the following error:

"Telerik.Blazor.Components.TelerikComboBox`2[Telerik.Blazor.Components.PdfViewer.Models.PdfViewerZoomLevelDescriptor,System.String] requires a value for the 'ValueExpression' ValueExpression is provided automatically when using 'bind-Value'.See more at https://docs.telerik.com/blazor-ui/knowledge-base/requires-valueexpression ."

 

 

@page "/pdfBug" @* <EditForm Model="_fakeContext"> *@ <TelerikPdfViewer Data="@PdfSource" OnDownload="@OnPdfDownload" Height="600px"></TelerikPdfViewer> @* </EditForm> *@ @code { private byte[] PdfSource { get; set; } private async Task OnPdfDownload(PdfViewerDownloadEventArgs args) { args.FileName = "PDF-Viewer-Download"; } protected override void OnInitialized() { PdfSource = Convert.FromBase64String(PdfBase64); base.OnInitialized(); } private const string PdfBase64 = "JVBERi0xLjEKMSAwIG9iajw8L1R5cGUvQ2F0YWxvZy9QYWdlcyAyIDAgUj4+ZW5kb2JqCjIgMCBvYmo8PC9UeXBlL1BhZ2VzL0tpZHNbMyAwIFJdL0NvdW50IDEvTWVkaWFCb3ggWy00MCAtNjQgMjYwIDgwXSA+PmVuZG9iagozIDAgb2JqPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjE8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CYXNlRm9udC9BcmlhbD4+ID4+ID4+L0NvbnRlbnRzIDQgMCBSPj5lbmRvYmoKNCAwIG9iajw8L0xlbmd0aCA1OT4+CnN0cmVhbQpCVAovRjEgMTggVGYKMCAwIFRkCihUZWxlcmlrIFBkZlZpZXdlciBmb3IgQmxhem9yKSBUagpFVAplbmRzdHJlYW0KZW5kb2JqCnhyZWYKMCA1CjAwMDAwMDAwMDAgNjU1MzUgZgowMDAwMDAwMDIxIDAwMDAwIG4KMDAwMDAwMDA4NiAwMDAwMCBuCjAwMDAwMDAxOTUgMDAwMDAgbgowMDAwMDAwNDkwIDAwMDAwIG4KdHJhaWxlciA8PCAgL1Jvb3QgMSAwIFIgL1NpemUgNSA+PgpzdGFydHhyZWYKNjA5CiUlRU9G"; private FakeContext _fakeContext = new FakeContext() { Name = "Test" }; public class FakeContext { public string Name { get; set; } } }


Duplicated
Last Updated: 14 Feb 2024 15:09 by ADMIN
Created by: Vladimir
Comments: 0
Category: UI for Blazor
Type: Bug Report
3

Trying to group by some nullable column. Expanding the group returns the entire dataset instead of only these rows with value == null.

Use case: Some users can not be assigned to any Team. Want to group by Teams and see users not assigned to any Team.

Steps to reproduce:

  • Using Virtual Scrolling with OnRead method.
  • Have a nullable column e.g. string?.
  • Trying to group by this column gives unexpected results.

Expected results:

Expanding the group by not assigning Teams returns only these users what doesn't have any teams by applying filtering.

Actual results:

 Expanding the group by not assigning Teams returns all users without filtering.

Code:


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

Scroll through the groups or expand them to load their data on demand

<TelerikGrid TItem="@object"
             LoadGroupsOnDemand="true"
             Groupable="true"
             OnStateInit="@((GridStateEventArgs<object> args) => OnStateInitHandler(args))"
             OnRead="@ReadItems"
             ScrollMode="@GridScrollMode.Virtual" PageSize="20" RowHeight="60"
             Navigable="true" Sortable="true" FilterMode="@GridFilterMode.FilterRow" Height="600px">
    <GridColumns>
        <GridColumn Field="@nameof(Employee.Name)" FieldType="@typeof(string)" Groupable="false" />
        <GridColumn Field="@nameof(Employee.Team)" FieldType="@typeof(string)" Title="Team" />
        <GridColumn Field="@nameof(Employee.Salary)" FieldType="@typeof(decimal)" Groupable="false" />
        <GridColumn Field="@nameof(Employee.IsOnLeave)" FieldType="@typeof(bool)" Title="On Vacation" />
    </GridColumns>
</TelerikGrid>

@code {
    List<object> GridData { get; set; }

    protected async Task ReadItems(GridReadEventArgs args)
    {
        // sample data retrieval, see comments in the service mimic class below
        DataEnvelope<Employee> result = await MyService.GetData(args.Request);

        if (args.Request.Groups.Count > 0)
        {
            args.Data = result.GroupedData.Cast<object>().ToList();
        }
        else
        {
            args.Data = result.CurrentPageData.Cast<object>().ToList();
        }

        args.Total = result.TotalItemCount;
    }

    void OnStateInitHandler(GridStateEventArgs<object> args)
    {
        // set initial grouping
        GridState<object> desiredState = new GridState<object>()
        {
            GroupDescriptors = new List<GroupDescriptor>()
            {
                new GroupDescriptor()
                {
                    Member = "Team",
                    MemberType = typeof(string)
                },
                new GroupDescriptor()
                {
                    Member = "IsOnLeave",
                    MemberType = typeof(bool)
                }
            }
        };

        args.GridState = desiredState;
    }

    public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }
        public string? Team { get; set; }
        public bool IsOnLeave { get; set; }
        public decimal Salary { get; set; }
    }

    public class DataEnvelope<T>
    {
        public List<AggregateFunctionsGroup> GroupedData { get; set; }
        public List<T> CurrentPageData { get; set; }
        public int TotalItemCount { get; set; }
    }

    public static class MyService
    {
        private static List<Employee> SourceData { get; set; }
        public static async Task<DataEnvelope<Employee>> GetData(DataSourceRequest request)
        {
            if (SourceData == null)
            {
                SourceData = new List<Employee>();
                var rand = new Random();
                for (int i = 1; i <= 3; i++)
                {
                    SourceData.Add(new Employee()
                    {
                        EmployeeId = i,
                        Name = "Employee " + i.ToString(),
                        Team = "Team " + i % 100,
                        IsOnLeave = i % 3 == 0,
                        Salary = rand.Next(1000, 5000)
                    });
                }
                SourceData.Add(new Employee()
                    {
                        EmployeeId = 3,
                        Name = "Employee " + 3.ToString(),
                        Team = null,
                        IsOnLeave = 3 % 3 == 0,
                        Salary = rand.Next(1000, 5000)
                    });
            }

            await Task.Delay(500);// deliberate delay to showcase async operations, remove in a real app

            // retrieve data as needed, you can find more examples and runnable projects here
            // https://github.com/telerik/blazor-ui/tree/master/grid/datasourcerequest-on-server
            var datasourceResult = SourceData.ToDataSourceResult(request);

            DataEnvelope<Employee> dataToReturn;

            if (request.Groups.Count > 0)
            {
                dataToReturn = new DataEnvelope<Employee>
                {
                    GroupedData = datasourceResult.Data.Cast<AggregateFunctionsGroup>().ToList(),
                    TotalItemCount = datasourceResult.Total
                };
            }
            else
            {
                dataToReturn = new DataEnvelope<Employee>
                {
                    CurrentPageData = datasourceResult.Data.Cast<Employee>().ToList(),
                    TotalItemCount = datasourceResult.Total
                };
            }

            return await Task.FromResult(dataToReturn);
        }
    }
}

Unplanned
Last Updated: 03 Oct 2024 08:30 by Roberto

Please expose the current data of the data bound select components when using OnRead. This will spare the need to cache data for the second time in-memory, or make a database request, or search by non-ID value when the app needs to obtain the full data item(s) for given component value(s).

This feature request is applicable to:

  • AutoComplete
  • ComboBox
  • DropDownList
  • MultiColumnComboBox
  • MultiSelect

 

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

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.

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.
Unplanned
Last Updated: 11 Jul 2025 16:25 by Matt
Created by: Matt
Comments: 0
Category: UI for Blazor
Type: Feature Request
3

Hi Team,

It might be a better user experience if the user does not have a valid license key to either:

a) make it clear that if the downloader does not have a license assigned the downloaded license key will not be valid

or

b) do not let anyone without a license assigned download the key file (that seems preferable & probably easier to implement)

Thank you!

Declined
Last Updated: 18 Oct 2019 15:42 by ADMIN
Created by: Flemming
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

Hi. 

 

Because https://feedback.telerik.com/kendo-jquery-ui/1360369-blazor-ooui is not closed I am now suggesting that you make controls for the Uno UI platform and Ooui.

Ooui and Uno are both known in context with Web Assembly and I think you should make controls for both.

You should also consider making controls for Ooui server side. If I could choose from all the worlds' options to build a web application, I would use Ooui server side, if it wasn't because of the lack of controls. The server side option is so simple to use and it was actually the reason Frank Krueger created it to begin with. He wanted a super simple way to display something on the web and he achieved that.

 

Flemming 

Completed
Last Updated: 09 Apr 2019 22:15 by ADMIN
Created by: Loren
Comments: 2
Category: UI for Blazor
Type: Feature Request
2

I would love to see this UI control for blazor with all the same great features

  • Filtering/Searching
  • Templates
  • Grouping
  • Cascading
Duplicated
Last Updated: 02 Mar 2020 13:32 by ADMIN
Created by: Mark
Comments: 3
Category: UI for Blazor
Type: Feature Request
2
A DateTime picker that 'understands' localized standard/daylight savings time and prevents entry of an illegal time in the spring 'leap forward' and disambiguates the st/dt with the same hour during the 'fall back' is desired. It is almost impossible to get a good UX if there are separate Date & Time pickers meant to populate a single DateTime value.
Declined
Last Updated: 31 Jul 2019 11:03 by ADMIN

After upgrading from 1.1.1 to 1.2.0 I get following exception on app start when hosted on azure app service, locally it works fine.

I have tried using the "static assets" and "CDN" version for retrieving the .js file, both yield this error.

An error occurred while starting the application. DirectoryNotFoundException: C:\Users\VssAdministrator\.nuget\packages\telerik.ui.for.blazor.trial\1.2.0\staticwebassets\ Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(string root, ExclusionFilters filters) DirectoryNotFoundException: C:\Users\VssAdministrator\.nuget\packages\telerik.ui.for.blazor.trial\1.2.0\staticwebassets\ Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(string root, ExclusionFilters filters) Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(string root) Microsoft.AspNetCore.StaticWebAssetsFileProvider..ctor(string pathPrefix, string contentRoot) Microsoft.AspNetCore.StaticWebAssetsLoader+<>c.<UseStaticWebAssetsCore>b__2_0(ContentRootMapping cr) System.Linq.Enumerable+SelectEnumerableIterator<TSource, TResult>.MoveNext() System.Linq.Enumerable.OfTypeIterator<TResult>(IEnumerable source)+MoveNext() System.Collections.Generic.List<T>..ctor(IEnumerable<T> collection) System.Linq.Enumerable.ToList<TSource>(IEnumerable<TSource> source) Microsoft.AspNetCore.StaticWebAssetsLoader.UseStaticWebAssetsCore(IWebHostEnvironment environment, Stream manifest) Microsoft.AspNetCore.StaticWebAssetsLoader.UseStaticWebAssets(IWebHostEnvironment environment) Microsoft.AspNetCore.WebHost+<>c.<ConfigureWebDefaults>b__9_0(WebHostBuilderContext ctx, IConfigurationBuilder cb) Microsoft.AspNetCore.Hosting.Internal.GenericWebHostBuilder+<>c__DisplayClass8_0.<ConfigureAppConfiguration>b__0(HostBuilderContext context, IConfigurationBuilder builder) Microsoft.Extensions.Hosting.HostBuilder.BuildAppConfiguration() Microsoft.Extensions.Hosting.HostBuilder.Build() *.Program.Main(string[] args) in Program.cs System.IO.DirectoryNotFoundException: C:\Users\VssAdministrator\.nuget\packages\telerik.ui.for.blazor.trial\1.2.0\staticwebassets\ at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters) at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root) at Microsoft.AspNetCore.StaticWebAssetsFileProvider..ctor(String pathPrefix, String contentRoot) at Microsoft.AspNetCore.StaticWebAssetsLoader.<>c.<UseStaticWebAssetsCore>b__2_0(ContentRootMapping cr) at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.OfTypeIterator[TResult](IEnumerable source)+MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Microsoft.AspNetCore.StaticWebAssetsLoader.UseStaticWebAssetsCore(IWebHostEnvironment environment, Stream manifest) at Microsoft.AspNetCore.StaticWebAssetsLoader.UseStaticWebAssets(IWebHostEnvironment environment) at Microsoft.AspNetCore.WebHost.<>c.<ConfigureWebDefaults>b__9_0(WebHostBuilderContext ctx, IConfigurationBuilder cb) at Microsoft.AspNetCore.Hosting.Internal.GenericWebHostBuilder.<>c__DisplayClass8_0.<ConfigureAppConfiguration>b__0(HostBuilderContext context, IConfigurationBuilder builder) at Microsoft.Extensions.Hosting.HostBuilder.BuildAppConfiguration() at Microsoft.Extensions.Hosting.HostBuilder.Build() at *.Program.Main(String[] args) in d:\a\1\s\*\Program.cs:line 11 .NET Core 3.0.0-preview6-27804-01 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting version 3.0.0-preview6.19307.2 | Microsoft Windows 10.0.14393 | Need help?


Declined
Last Updated: 28 Sep 2021 06:54 by ADMIN
Created by: nonick
Comments: 4
Category: UI for Blazor
Type: Bug Report
2

When trying to create a treeview inside of another treeview template I get the following error

 

[2019-07-19T00:58:28.003Z] Error: System.InvalidOperationException: Object of type 'Telerik.Blazor.Components.TreeView.TelerikTreeView' does not have a property matching the name 'ChildContent'.

   at Microsoft.AspNetCore.Components.ParameterCollectionExtensions.ThrowForUnknownIncomingParameterName(Type targetType, String parameterName)

   at Microsoft.AspNetCore.Components.ParameterCollectionExtensions.SetParameterProperties(ParameterCollection& parameterCollection, Object target)

   at Microsoft.AspNetCore.Components.ComponentBase.SetParametersAsync(ParameterCollection parameters)

   at Telerik.Blazor.Components.TreeView.TelerikTreeViewBase.SetParametersAsync(ParameterCollection parameters)

   at Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterCollection parameters)

   at Microsoft.AspNetCore.Components.Rende...

Duplicated
Last Updated: 02 Mar 2020 13:30 by ADMIN
Created by: Igonik84
Comments: 3
Category: UI for Blazor
Type: Feature Request
2

What about supporting INotifyCollectionChanged data source for the Grid?

Duplicated
Last Updated: 02 Mar 2020 13:21 by ADMIN
One Compact UI theme which will be better suited for Complex and Data heavy Apps.
Duplicated
Last Updated: 02 Mar 2020 13:19 by ADMIN
Created by: Amanatios Amanatidis
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

How can I show/hide or enable/disable a GridCommandColumn (e.g. Edit) per row.
For example, if a row is readonly, I don't want users to be able to click the edit button. There is no @context inside <GridCommandColumn>

 

Sample usage

<GridCommandColumn> @{ var item = context as TheItem;

         <GridCommandButton Command="Edit" Icon="edit" Enabled="@!item.ReadOnly">Edit</GridCommandButton>
     }

</GridCommandColumn>

 

Completed
Last Updated: 23 Oct 2019 21:24 by Ben Hayat
Created by: Ben Hayat
Comments: 2
Category: UI for Blazor
Type: Feature Request
2

Hello Team;

I'd like to suggest to offer us an easy way to use the different themes offered by Bootswatch (bootstrap themes) during development and also allow us to offer that capability to our user, so they can pick their own theme.

Hope this helps!

Thanks!
..Ben

Completed
Last Updated: 18 Nov 2022 10:25 by ADMIN
Created by: Datafyer
Comments: 3
Category: UI for Blazor
Type: Feature Request
2

It would be helpful in some cases to specify which grid lines to display with a default of both:

None - No lines

Horizontal - Only horizontal row lines

Vertical - Only vertical column lines.

Both - H/V lines

Completed
Last Updated: 09 Mar 2020 14:12 by ADMIN
Release 2.9.0

After setting Enaabled=false on e.g. a TelerikTextBox, there is still possible to "tab" in to the textbox and write in it....

 

See attached.

Duplicated
Last Updated: 02 Mar 2020 13:16 by ADMIN
Created by: René
Comments: 1
Category: UI for Blazor
Type: Feature Request
2

Please add a PDF Viewer blazor component!

For the meantime: Could you provide an example of how to use the Telerik UI for net core PDF Viewer in a NET core 3 Blazor app?

Duplicated
Last Updated: 02 Mar 2020 12:55 by ADMIN
Created by: Manu
Comments: 1
Category: UI for Blazor
Type: Feature Request
2
Toast component to show notification
Unplanned
Last Updated: 12 Mar 2020 16:40 by ADMIN
Created by: Danilo
Comments: 0
Category: UI for Blazor
Type: Feature Request
2
I would like to render a title attribute for the icons.