Completed
Last Updated: 24 Oct 2022 07:03 by ADMIN
Release 3.6.1 (26 Sep 2022)

This is kind of hard to explain, so please see the attached Before and After videos.  In these videos, I'm using a brand new .NET 6 console app.

In the Before video, the Telerik UI for Blazor extension is disabled.  After I type `Console` and hit the period, I see intellisense like I expect to.

In the After video, the extension is enabled.  I'm typing the same thing and hitting period, but something interrupts the period keystroke, and it never appears.  Instead, it just closes the intellisense window.

I used a new console app as an example, but it's happening in all projects.  It's also happening with other keys like semicolons, spaces, and tabs.  It's causing a huge amount of typos and making so I often have to hit keystrokes twice in order for them to register.

I tried doing a full reinstall of Visual Studio.  Everything's fine until I install the Telerik extension, then it starts.  If I disable the extension, the issue goes away.

Completed
Last Updated: 17 Nov 2021 15:23 by ADMIN
Release 2.30.0

Hi,

In most of my projects I use the ObjectGraphDataAnnotationsValidator component for validating complex types; and I also use a lot of your components. I've noticed what I *think* might be a clash between this validator and some of your input components. I've built a simple (and crude) example but I think it demonstrates the problem.


In the example code we have a table with 2 cells - in both cells we have an EditForm and 10 TelerikTextArea components. The first cell's EditForm contains a ObjectGraphDataAnnotationsValidator instance and the 2nd cell doesn't. Hopefully when you try to reproduce you will notice a distinct difference in performance with the performance of the 2nd EditForm being great, while the 1st EditForm is quite laggy and gets worse the more items you add.


I'm wondering if there is a clash here between the ObjectGraphDataAnnotationsValidator and the input components or I'm using them incorrectly?


Thanks
Michael.

 

@page "/"

<table width="100%">
    <tr>
        <td width="50%">
            <h3>EditForm with ObjectGraphDataAnnotationsValidator</h3>
            <EditForm Model="Items">
                <ObjectGraphDataAnnotationsValidator />
                @foreach (var item in Items)
                {
                    <div style="display: flex">
                        <TelerikTextArea @bind-Value="item.TextValue" />

                        @if (Items.IndexOf(item) == (Items.Count - 1))
                        {
                            <TelerikButton OnClick="@(() => Items.Add(new DataItem()))">
                                Add
                            </TelerikButton>
                        }
                    </div>
                }
            </EditForm>
        </td>
        <td width="50%">
            <h3>EditForm without ObjectGraphDataAnnotationsValidator</h3>
            <EditForm Model="Items">
                @foreach (var item in Items)
                {
                    <div style="display: flex">
                        <TelerikTextArea @bind-Value="item.TextValue" />

                        @if (Items.IndexOf(item) == (Items.Count - 1))
                        {
                            <TelerikButton OnClick="@(() => Items.Add(new DataItem()))">
                                Add
                            </TelerikButton>
                        }
                    </div>
                }
            </EditForm>
        </td>
    </tr>
</table>

@code {
    protected List<DataItem> Items { get; set; }

    protected override void OnInitialized()
    {
        Items = new List<DataItem>();
        for (var i = 1; i <= 10; i++)
        {
            Items.Add(new DataItem { TextValue = $"This is item number {i}." });
        }
    }

    public class DataItem
    {
        public string TextValue { get; set; }
    }
}
Completed
Last Updated: 14 Nov 2024 09:26 by ADMIN
Release 7.0.0

When filtering or editing a Grid with enum data, the Name property of their Display parameter is respected.

However, in the initial view mode of the Grid the Name property is not applied and the enum values are rendered regardless of whether or not their Display parameter has a Name property defined.

 

==========

ADMIN EDIT

==========

In the meantime, a workaround you might try is to create a custom method to check whether Display attribute is defined and get and display its Name property, otherwise display the Enum's member name.

You can then use a Template for the column that uses enum data, cast its context to the model you are using and invoke the method on the field containing the enum. The sample below demonstrates how you can achieve this.

@using System.ComponentModel.DataAnnotations
@using System.Reflection

<TelerikGrid Data=@MyData EditMode="@GridEditMode.Inline" Pageable="true" Height="500px"
             OnUpdate="@UpdateHandler" FilterMode="@GridFilterMode.FilterRow">
    <GridColumns>
        <GridColumn Field=@nameof(SampleData.ID) Editable="false" Title="ID" />
        <GridColumn Field=@nameof(SampleData.Name) Title="Name" />
        <GridColumn Field=@nameof(SampleData.Role) Title="Position">       
            <Template>
                @{
                    var currentEmployee = context as SampleData;
                    var currentRole = GetDisplayName(currentEmployee.Role);                        
                }

                @currentRole
            </Template>
        </GridColumn>
        <GridCommandColumn>
            <GridCommandButton Command="Save" Icon="save" ShowInEdit="true">Update</GridCommandButton>
            <GridCommandButton Command="Edit" Icon="edit">Edit</GridCommandButton>
        </GridCommandColumn>
    </GridColumns>
</TelerikGrid>

@code {
    //custom method to check whether Display attribute is defined and get and display its Name property, otherwise display the Enum's member name
    public string GetDisplayName(Enum val)
    {
        return val.GetType()
                  .GetMember(val.ToString())
                  .FirstOrDefault()
                  ?.GetCustomAttribute<DisplayAttribute>(false)
                  ?.Name
                  ?? val.ToString();
    }


    public void UpdateHandler(GridCommandEventArgs args)
    {
        SampleData item = (SampleData)args.Item;

        //update the view-model
        var index = MyData.FindIndex(i => i.ID == item.ID);
        if (index != -1)
        {
            MyData[index] = item;
        }

        //perform actual data source operations here
    }

    //model and dummy data generation
    public class SampleData
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public Role Role { get; set; }
    }

    public enum Role
    {
        [Display(Name = "Manager")]
        ManagerRole,
        [Display(Name = "Employee")]
        EmployeeRole,
        [Display(Name = "Contractor")]
        ContractorRole
    }

    public List<SampleData> MyData { get; set; }

    protected override void OnInitialized()
    {
        MyData = new List<SampleData>();

        for (int i = 0; i < 50; i++)
        {
            MyData.Add(new SampleData()
            {
                ID = i,
                Name = "name " + i,
                Role = (Role)(i % 3) // just some sample to populate initial values for the enum
            });
        }
    }
}

Completed
Last Updated: 12 Oct 2022 12:59 by Javier
Release 3.5.0

If the TextArea component is used within an EditorTemplate of a grid column, edit mode is always closed upon hitting ENTER.  The thing is that I'm using the TextArea to allow the user to input several lines.  Upon Enter the user wants to move to a new line within the TextArea and not to finish the edit mode.

Regards,

René

---

ADMIN EDIT

For the time being I can offer using the popup editing or a custom external edit form (inline or popup).

Another workaround would be to stop the keydown event propagation so the grid/treelist cannot consume it and close the cell:

 

        <TreeListColumn Field="EmailAddress" Width="220px">
            <EditorTemplate>
                @{
                    CurrentlyEditedEmployee = context as Employee;
                    <div @onkeydown:stopPropagation="true">
                        <TelerikTextArea @bind-Value="@CurrentlyEditedEmployee.EmailAddress"></TelerikTextArea>
                    </div>
                }
            </EditorTemplate>
        </TreeListColumn>

 

It is possible that the grid might stop handling Enter when editor templates are present so you can use the events from the custom editor as desired to invoke the save operation. This could happen through the following request: https://feedback.telerik.com/blazor/1493770-ability-to-prevent-multiple-calls-of-async-updatehandler-when-pressing-enter-in-incell-edit-mode. With or without it, it is highly likely that the approach of preventing the event propagation is the correct one because the grid cannot know what the editor template contains and handle events differently based on that.

 

---

Completed
Last Updated: 14 Apr 2021 07:06 by ADMIN
Release 2.24.0
Created by: Jason Parrish
Comments: 1
Category: UI for Blazor
Type: Bug Report
8

I have an ENUM like this:

  public enum DeliveryMailOptions
        {
            Regular,
            [Display(Name ="FedEx Priority")]
            FedExPriority,
            [Display(Name ="FedEx Two-Day")]
            FedExTwoDay
        }


It is used in a data model like so:

[Display(Name = "Mail Option")]
public DeliveryMailOptions MailOption { get; set; }

 

When rendered, it ignores the Display attribute and only shows the enum text.

 

 

Completed
Last Updated: 18 Jun 2020 12:04 by ADMIN
Release 2.15.0
Created by: Michael
Comments: 2
Category: UI for Blazor
Type: Bug Report
7
It seems that when all items on a grid page are deleted, the page number is decremented but the data for that page is not loaded or displayed.
Completed
Last Updated: 11 Apr 2022 11:16 by ADMIN
Release 3.2.0
OutOfMemory exception when an infinite loop updates the Telerik UI for Blazor components in an EditForm
Completed
Last Updated: 12 May 2023 07:20 by ADMIN
Release 4.3.0 (06/07/2023) (R2 2023)

Hi,

I noticed that using left or right arrow to position yourself between typed text does not work anymore in the GridSearchBox. Neither does SHIFT+left for selecting parts of typed text. Home or End key is also not working.

 

In previous versions this was still possible.

 

Can be estabished on the demo pages as well:

https://demos.telerik.com/blazor-ui/grid/searchbox

 

Thanks,

Tom

Completed
Last Updated: 05 Sep 2019 10:30 by ADMIN
Release 1.7.0

If filtering is enabled, the error may prevent the view from rendering  similar to NotImplementedException: Unexpected frame type during RemoveOldFrame: None.

Without filtering, an exception is thrown when you attempt to edit a field, similar to Error: System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Nullable`1[System.Int64]'.

Completed
Last Updated: 08 Jun 2023 07:47 by ADMIN
Release 4.4.0 (07/19/2023) (R3 PI1)
Created by: Ivaylo
Comments: 1
Category: UI for Blazor
Type: Bug Report
5

Hello there,

I encountered an issue with the TelerikGrid component. This started to be an issue from version 4.1.0 and can be reproduced from here:

https://docs.telerik.com/blazor-ui/components/grid/columns/visible#toggle-the-visibility-of-a-column-on-button

If this line from the example:

<GridColumn Field=@nameof(SampleData.Name) Title="Name" />
is changed to:

<GridColumn Field=@nameof(SampleData.Name) Title="Name" Visible="@!isVisible">
    <Template>
       @((context as SampleData).Name)
     </Template>
</GridColumn>

you can see that once the template GridColumn is shown, its data overwrites the data of the "Hire Date" column when toggling the visibility of the columns. The header of the column is changing but the data stays the same.

To provide a visual context of the issue, I have attached a video.

 

Best regards,

Ivaylo

Completed
Last Updated: 09 Sep 2021 08:30 by ADMIN
Release 2.27.0

Steps to reproduce this are pretty simple.  On the Blazor Wizard demo at this link:

 

https://demos.telerik.com/blazor-ui/wizard/overview?_ga=2.135424305.1441063975.1625423575-1371905116.1594731896&_gac=1.21975282.1624709398.85e5788e7d791cbf2099185965b0351c

 

- Enter a password on step 1

- Click 'Next' to bring you to the 'Shipping' step

- Set focus to the 'City' input box.  I clicked to the end of the default string that is pre-populated as 'Torino'

- Press the left arrow key.  This sends you back to Step 1 (Registration)

 

This is a pretty big stumbling block for using the Wizard component, but I may be missing some kind of setting or code that will resolve this.

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; }
    }
}

 

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()

 

 

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

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

Completed
Last Updated: 14 Nov 2024 09:27 by ADMIN
Release 7.0.0
When I open the dropdown of any select component (DropDownList, AutoComplete, ComboBox, MultiColumnComboBox, MultiSelect) that has Virtualization enabled and try to scroll with the up/down error keys past the page size I get an exception. 
Completed
Last Updated: 28 Mar 2023 16:56 by RAY

Hi

Trying to update to the latest version but in output in GitHub Actions it shows:

The type 'DataSourceRequest' is defined in an assembly that is not referenced. You must add a reference to assembly 'Telerik.DataSource, Version=2.1.3.0

However in my csproj I am referencing <PackageReference Include="Telerik.DataSource" Version="2.1.3" />

Any ideas?

Completed
Last Updated: 01 Dec 2023 14:07 by ADMIN
Release 5.1.0 (31 Jan 2024) (R1 2024)
Created by: Peter
Comments: 1
Category: UI for Blazor
Type: Bug Report
3

So, brand new machine (Win 11 pro 64bit), brand new install of Visual Studio & Telerik, use the Telerik templates to create a new Blazor Server project.

When I run the application (with changes or first run), it takes almost a minute to start the application.

Without changes it starts in 2 seconds.

The fix is to add the following to the application's csproj file.

  <PropertyGroup>
    <UseRazorBuildServer>false</UseRazorBuildServer>
  </PropertyGroup>

After the fix, it takes an just a little longer to run than without changes.  Since I have not heard back on my support ticket, I wanted to report this as a bug so hopefully it can get upvoted and we can get an answer to this issue. 

Original support ticket https://www.telerik.com/account/support-center/view-ticket/1621737 

My Setup:

7950x, 32 gb DDR5 ram, WD Black SSD 850x SSD and slower internet 150mbit/s

Similar problem with my new laptop which is about 50% slower but exactly the same issue.

Peter

 

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.

1 2 3 4