Completed
Last Updated: 06 May 2024 12:02 by ADMIN
Release 2024 Q2 (May)

We find this in our infrastructure but it can be reproduced even in Telerik docs.

Docs page: https://docs.telerik.com/blazor-ui/components/grid/grouping/overview try to drop all three columns using drag and drop in sequence: Team, Name, On Vacation.

Expected sequence: Team, Name, On Vacation

Expected sequence: Team, On Vacation, Name

All Elements are always added as 1 item. It is an important feature for us, as our customers use it frequently.

===

TELERIK EDIT:

A possible workaround is to intercept the grouping and reorder the groups:

@using Telerik.DataSource

<p>Group by a third column, so that it should come last in the Group Panel:</p>

<TelerikGrid @ref="@GridRef"
             Data="@GridData"
             Pageable="true"
             Sortable="true"
             Groupable="true"
             FilterMode="GridFilterMode.FilterRow"
             OnStateInit="@( (GridStateEventArgs<Employee> args) => OnGridStateInit(args) )"
             OnStateChanged="@( (GridStateEventArgs<Employee> args) => OnGridStateChanged(args) )">
    <GridColumns>
        <GridColumn Field="@nameof(Employee.Name)" />
        <GridColumn Field="@nameof(Employee.Team)" />
        <GridColumn Field="@nameof(Employee.Salary)" />
        <GridColumn Field="@nameof(Employee.OnVacation)" />
    </GridColumns>
</TelerikGrid>

@code {
    private TelerikGrid<Employee>? GridRef { get; set; }

    private List<Employee> GridData { get; set; } = new();

    private void OnGridStateInit(GridStateEventArgs<Employee> args)
    {
        args.GridState.GroupDescriptors = new List<GroupDescriptor>();

        args.GridState.GroupDescriptors.Add(new GroupDescriptor()
        {
            Member = nameof(Employee.Team),
            MemberType = typeof(string)
        });

        args.GridState.GroupDescriptors.Add(new GroupDescriptor()
        {
            Member = nameof(Employee.OnVacation),
            MemberType = typeof(bool)
        });
    }

    private async Task OnGridStateChanged(GridStateEventArgs<Employee> args)
    {
        if (args.PropertyName == "GroupDescriptors" && args.GridState.GroupDescriptors.Count > 2 && GridRef != null)
        {
            var secondGroupDescriptor = args.GridState.GroupDescriptors.ElementAt(1);

            args.GridState.GroupDescriptors.Remove(secondGroupDescriptor);
            args.GridState.GroupDescriptors.Add(secondGroupDescriptor);

            await GridRef.SetStateAsync(args.GridState);
        }
    }

    protected override void OnInitialized()
    {
        var rnd = new Random();

        for (int i = 1; i <= 20; i++)
        {
            GridData.Add(new Employee()
            {
                Id = i,
                Name = "Name " + i,
                Team = "Team " + (i % 4 + 1),
                Salary = (decimal)rnd.Next(1000, 3000),
                OnVacation = i % 3 == 0
            });
        }
    }

    public class Employee
    {
        public int Id { get; set; }
        public string Name { get; set; } = string.Empty;
        public string Team { get; set; } = string.Empty;
        public decimal Salary { get; set; }
        public bool OnVacation { get; set; }
    }
}

 

Unplanned
Last Updated: 07 Mar 2024 08:56 by ADMIN

Sometimes the Gantt provides better visibility when we can split tasks into segments on the same row. This is a new feature to SyncFusion and would be very useful to extend the possibilities of the Telerik Gantt as well.

This is an example of what it looks like:

I could make use of this in a couple of ways. Some of my tasks require to get to a preliminary point at a certain time and a finished point later. Those are not continuous buckets of work, but they are so closely related that it would make visual presentation more intuitive and simpler if they were displayable that way.

I might also use this as a method of displaying a higher level read-only gantt where I want to condense a few milestones or task windows into a single row.

Unplanned
Last Updated: 31 Oct 2024 11:01 by ADMIN
Created by: Jesper
Comments: 6
Category: UI for Blazor
Type: Bug Report
4
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: 22 Jun 2021 12:34 by ADMIN
Created by: Zachariah
Comments: 2
Category: UI for Blazor
Type: Feature Request
3
I use a 3D Cartesian Chart in my WPF applications. Id like to make a blazor server side version of these applications. Is a 3d cartesian chart in the works?
Unplanned
Last Updated: 14 Nov 2021 22:16 by cw
Created by: Ben Hayat
Comments: 3
Category: UI for Blazor
Type: Feature Request
3

Hello Team;

We are building a "Social Media" style application. One of the requirements, is to provide an easy and professional for user to traverse through an Image gallery.

I'd like to request for such feature that allows us:

  • Ability to for us to provide a list of links (to physical location of images) to the Image Gallery component to display images in list format or individual image to traverse through the list.
  • Ability for user to click on image to see image in full size in a window.
  • Ability for user to download image.

It would be great if we don't have to resort to use the old jQuery implementation. We're trying to minimize to load jQuery, as Blazor client is already large enough.

Thank you in advance!
..Ben

Unplanned
Last Updated: 18 Dec 2019 07:18 by ADMIN
Created by: Edward
Comments: 1
Category: UI for Blazor
Type: Feature Request
3
As the subject says, this component is available in other libraries and is quite useful.  Would like to see it added to the Blazor suite of components.
Duplicated
Last Updated: 25 Oct 2024 11:19 by ADMIN
Created by: Manu
Comments: 3
Category: UI for Blazor
Type: Feature Request
3
Accordion control
Completed
Last Updated: 28 Feb 2020 08:04 by ADMIN
Created by: Daniel
Comments: 4
Category: UI for Blazor
Type: Feature Request
3

Hi there,

i'm struggling with kendo theming. I'm trying to implement a material ui with telerik ui for blazor. I did follow the steps in the getting started pages but i'm getting a half baked ui which is missing essential parts like the focus animations for textboxes like shown in the textbox demo: https://demos.telerik.com/blazor-ui/textbox/overview.

My recent approach was to compile the files in the kendo theme Git repository but these also don't work.

What am i doing wrong? How exactly did you achieve the full material experience in the demos?

So lonG

Daniel

Unplanned
Last Updated: 24 May 2020 11:43 by ADMIN
Created by: Anthony
Comments: 0
Category: UI for Blazor
Type: Feature Request
3
I want to allow users to select the item by different searchable text via the corresponding display combobox - the user can select the product item by either  productID or product name, from one component rather than having several combo boxes with different TextField settings.
Completed
Last Updated: 15 Jul 2020 13:42 by ADMIN
Release 2.16.0
Created by: mtrejo30
Comments: 5
Category: UI for Blazor
Type: Bug Report
3

 

This error appears after update 15, in 14.1 it works correctly.

 

ADMIN EDIT:

This error occurs from the FilterMode set to FilterRow. As a workaround, until the fix is implemented, you could use the FilterMenu instead.

 

Regards

 

 

blazor.server.js:15 [2020-06-30T23:44:51.768Z] Error: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Telerik.Blazor.Components.Grid.GridCellBase`1.get_Column()
   at Telerik.Blazor.Components.Grid.GridCellBase`1.get_BoundColumn()
   at Telerik.Blazor.Components.Grid.GridFilterCell`1.get_BoundColumnFilterCellTemplate()
   at Telerik.Blazor.Components.Grid.GridFilterCell`1.BuildRenderTree(RenderTreeBuilder __builder)
   at Microsoft.AspNetCore.Components.ComponentBase.<.ctor>b__6_0(RenderTreeBuilder builder)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()

 

 

Unplanned
Last Updated: 26 Jul 2020 08:10 by ADMIN
Created by: Warren
Comments: 0
Category: UI for Blazor
Type: Feature Request
3
I need a display similar to the TagCloud from UI for ASP.NET AJAX https://demos.telerik.com/aspnet-ajax/tagcloud/examples/overview/defaultcs.aspx
Completed
Last Updated: 23 Sep 2020 09:27 by ADMIN
Release 2.18.0
Created by: Roy
Comments: 0
Category: UI for Blazor
Type: Bug Report
3
With "System.NullReferenceException : Object reference not set to an instance of an object" coming from TelerikRootComponent.AddFragment(RenderFragment fragment)
Duplicated
Last Updated: 11 Nov 2021 18:16 by Kenn.
Created by: James
Comments: 3
Category: UI for Blazor
Type: Feature Request
3
 I would like to request drag and drop functionality for the Blazor Grid so that rows can be moved up or down with smooth animations. When virtual scrolling is enabled, and a row is dragged to the top or bottom of the grid, the grid should scroll to allow dropping the row to a location that was not initially in the viewport. Also, there should be all the standard drag and drop events that fire when starting, dragging, and dropping a row. Lastly, the drag handle icon should be customizable.

I currently have this functionality in an Angular application using ag-grid, but would like to rewrite the application using Blazor. The only limitation I have run into is this missing functionality in any Blazor grid. Even ag-grid falls short when it comes to nice animations. Here is an example of the animations and scrolling that I would like to have in a grid: https://autodesk.github.io/react-base-table/examples/draggable-rows.

The application is easiestbudget.com.

I hope I'm not the first person to request these features, and I would be delighted to see them in a future version of your Blazor grid.
Duplicated
Last Updated: 19 Sep 2021 14:20 by ADMIN
Created by: Vishnu
Comments: 2
Category: UI for Blazor
Type: Feature Request
3

I would like to be able to override the No Data message in DropDownList component when there are no elements in the Data.

 

--

ADMIN EDIT

Until this feature is implemented, here is a workaround.

If you already have localization in your project, just set "DropDownList_NoData" key to an empty string in your resources.

If you don't have localization, here are the steps you should do (shortened version of the documentation):

1. Create a class for your localizer: 

public class SampleResxLocalizer : ITelerikStringLocalizer
{
    public string this[string name]
    {
        get
        {
            return GetStringFromResource(name);
        }
    }

    public string GetStringFromResource(string key)
    {
        // this will override only DropDownList_NoData message and it will return other messages as they are
        if (key == nameof(Messages.DropDownList_NoData))
        {
            return string.Empty;
        }

            return Messages.ResourceManager.GetString(key, Messages.Culture); ;
        }
}

 

2. Override the existing Localizer. This step should be done when configuring your services after calling "AddTelerikBlazor()":

 

builder.Services.AddSingleton(typeof(ITelerikStringLocalizer), typeof(SampleResxLocalizer));


--

Completed
Last Updated: 09 Dec 2020 12:40 by ADMIN
Release 2.21.0
Created by: Frank
Comments: 0
Category: UI for Blazor
Type: Bug Report
3

If I set the Visible parameter to false for either ToolBarButton or ToolBarToggleButton it does not hide them from the UI. 

<AdminEdit>

A workaround would be to use the Class parameter and add a display:none CSS rules. 

Code snippet for the workaround:

<style>
    .hidden-button{
        display:none;
    }
</style>

<TelerikToolBar>
    <ToolBarButton Class="hidden-button">Hidden button</ToolBarButton>
    <ToolBarButton Icon="@IconName.Star">Visible button</ToolBarButton>
    <ToolBarToggleButton Class="hidden-button">Hidden toggle button</ToolBarToggleButton>
    <ToolBarToggleButton @bind-Selected="@isSelected">Visible toggle button</ToolBarToggleButton>
</TelerikToolBar>

@code {
    public bool isSelected { get; set; } = true;
}

</AdminEdit>

Duplicated
Last Updated: 04 Feb 2021 22:11 by ADMIN
Created by: Twain
Comments: 1
Category: UI for Blazor
Type: Feature Request
3

I would like to have the Label property to all input components, like ComboBox, NumericTextBox, all date inputs and pickers and so on. Right now only TextBox have it.
There a hack using HTML labels and CSS to get that but I think it is necessary to unify and not have to deal with two different concepts within the same form.

 

Input with Label property:

<TelerikTextBox Label="Container Name" @bind-Value="@ContainerSettings.ContainerName"></TelerikTextBox>

Hack to get same result in other inputs:

<label class="k-label" for="port">
                    Port <br>
    <TelerikNumericTextBox Id="port" Arrows="false" @bind-Value="@ContainerSettings.Port"></TelerikNumericTextBox>

</label>

 
Declined
Last Updated: 02 Jan 2022 14:30 by ADMIN
Created by: ali2021
Comments: 4
Category: UI for Blazor
Type: Bug Report
3

in blazor ui version 2.24.1 I use this code in program.cs for globalization:

public static async Task Main(string[] args)
        {
            var builder = WebAssemblyHostBuilder.CreateDefault(args);
            builder.RootComponents.Add<App>("#app");
            builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

            builder.Services.AddTelerikBlazor();

            // register a custom localizer for the Telerik components, after registering the Telerik services
            builder.Services.AddSingleton(typeof(ITelerikStringLocalizer), typeof(SampleResxLocalizer));

            var host = builder.Build();

            await SetCultureAsync(host);

            await host.RunAsync();
        }

 private static async Task SetCultureAsync(WebAssemblyHost host)
        {
            var jsRuntime = host.Services.GetRequiredService<IJSRuntime>();
            var cultureName =await jsRuntime.InvokeAsync<string>("blazorCulture.get");

            if (cultureName != null)
            {
                var culture = new CultureInfo("fa-IR");

                DateTimeFormatInfo info = culture.DateTimeFormat;
                info.AbbreviatedDayNames = new string[] { "ی", "د", "س", "چ", "پ", "ج", "ش" };
                info.DayNames = new string[] { "یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه" };
                info.AbbreviatedMonthNames = new string[] { "فروردین", "ارديبهشت", "خرداد", "تير", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
                info.MonthNames = new string[] { "فروردین", "ارديبهشت", "خرداد", "تير", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
                info.AMDesignator = "ق.ظ";
                info.PMDesignator = "ب.ظ";
                info.ShortDatePattern = "yyyy/MM/dd";
                info.FirstDayOfWeek = DayOfWeek.Saturday;
                CultureInfo.DefaultThreadCurrentCulture = culture;
                CultureInfo.DefaultThreadCurrentUICulture = culture;
            }
        }

when use TelerikDatePicker , id dosenot work properly. the code of my component in here:

<div class="demo-section k-form k-form-vertical">
    <div class="k-form-field">
        <label for="travel-date" class="k-label k-form-label">Travel Date</label>
        <div class="k-form-field-wrap">
            <TelerikDatePicker Min="@Min" Max="@Max" @bind-Value="@selectedDate" Id="travel-date"></TelerikDatePicker>
        </div>
    </div>
    <div class="k-form-field">
        <p>The selected travel date is: <strong>@selectedDate?.ToShortDateString()</strong></p>
        <p>The selected travel date is: <strong>@selectedDate?.ToString()</strong></p>
        <p>The selected travel date is: <strong>@selectedDate?.ToUniversalTime()</strong></p>
        <p>The selected travel date is: <strong>@selectedDate?.ToLongDateString()</strong></p>
    </div>
</div>

@code  {
    public DateTime Max = new DateTime(2050, 12, 31);
    public DateTime Min = new DateTime(1950, 1, 1);
    private DateTime? selectedDate=DateTime.Now;
}

when click the datepicker the date is not correct :

Duplicated
Last Updated: 05 Dec 2021 09:46 by ADMIN

I am experiencing this problem with version 2.29 when the dropdown list is in a "component"

It seems to be intermittent but dependent on how long the async method takes to complete.

 Edit page

@page "/"
@using System.Diagnostics
@using System.Threading
@using BlazorApp1.Components

<h1>Hello, world!</h1>

<EditForm class="form-inline" Model="@Model">
    <MyComponent />
</EditForm>

Welcome to your new app.

@code {
    object Model = new();
    private Guid InstanceId;

    public Index()
    {
        InstanceId = Guid.NewGuid();
        Debug.WriteLine($"Index - {InstanceId}");
    }

    protected override Task OnInitializedAsync()
    {
        Debug.WriteLine("Index - OnInitializedAsync");
        return base.OnInitializedAsync();
    }

    protected override Task OnParametersSetAsync()
    {
        Debug.WriteLine("Index - OnParametersSetAsync");
        return base.OnParametersSetAsync();
    }
}

 

Component

@using System.Diagnostics <h3>My Component</h3>

<br />

<TelerikDropDownList @bind-Value=_selectedValue Data="@myComboData" TextField="MyTextField" ValueField="MyValueField" TValue="int" TItem="MyDdlModel"></TelerikDropDownList>

<br />

<TelerikButton OnClick="@SayHelloHandler" Primary="true">Say Hello</TelerikButton><br />

@helloString <br /> @code { private Guid InstanceId; MarkupString helloString; int _selectedValue { get; set; } = 2; // Preselected value IEnumerable<MyDdlModel> myComboData { get; set; } = Enumerable.Empty<MyDdlModel>(); void SayHelloHandler() { string msg = string.Format("Hello from <strong>Telerik Blazor</strong> at {0}.<br /> Now you can use C# to write front-end!", DateTime.Now); helloString = new MarkupString(msg); } public MyComponent() { InstanceId = Guid.NewGuid(); Debug.WriteLine($"MyComponent - {InstanceId}"); } protected override async Task OnInitializedAsync() { Debug.WriteLine("MyComponent - OnInitializedAsync"); myComboData = await LoadData(); await base.OnInitializedAsync(); } protected override Task OnParametersSetAsync() { Debug.WriteLine("MyComponent - OnParametersSetAsync"); return base.OnParametersSetAsync(); } private async Task<IEnumerable<MyDdlModel>> LoadData() { await Task.Delay(100); return Enumerable.Range(1, 20).Select(x => new MyDdlModel { MyTextField = "item " + x, MyValueField = x }); } public class MyDdlModel { public int MyValueField { get; set; } public string MyTextField { get; set; } } }

 

Completed
Last Updated: 14 Nov 2024 09:27 by ADMIN
Release 7.0.0

Further to issue reported in https://feedback.telerik.com/blazor/1545177-selected-items-are-not-preserved-when-loading-the-state-when-the-component-is-bound-to-expandoobjects wrt Expando Object, the column menu reset also does not work when grid is bound to Expando Object

 

Regards

Naved

Declined
Last Updated: 15 Feb 2024 16:51 by ADMIN
Created by: Paolo
Comments: 3
Category: UI for Blazor
Type: Feature Request
3

--- FOR FUTURE REQUEST ---

Could be very useful to scrolling tha grid to a specific item\row (in Normal Grd and also in Virtual Grid mode, both)  programmatically. Whithout javascript.

For example after loading a grid that show 20 items, programmatically is it possible to go (and display in grid) not the first 20 rows but for example at row 100. So the vertical scrolling bar muso go dow sice arriving and show that row.

 

Best Regards

Paolo Leonesi