Unplanned
Last Updated: 26 Sep 2024 13:12 by ADMIN

My scenario is a lot similar to this one and I call SetStateAsync to exit the edit mode. In addition, my Grid is grouped on initialization. I noticed that each time I call SetStateAsync, the AggregateFunctions count of the GroupDescriptor increases and one more identical AggregateFunction is added to the same GroupDescriptor. This results in slowing the editing process.

Here is a simpler reproduction: https://blazorrepl.telerik.com/wekZmTPE35YpD8f504.

Unplanned
Last Updated: 12 Sep 2024 05:58 by Sam

I have recently encountered an accessibility issue with the grid popup editor where the labels for the generated fields are not linked to their respective editor. It seems that the label does have a "for" attribute that is the same as the column title which I expect, but the Id of the input does not get set to the same thing. I can't see any option to make the association happen automatically.

===

ADMIN EDIT

===

A possible option for the time being is to use a custom popup edit form. You may either declare your desired custom content for the form and link the labels to their respective inputs or use the Form component with the field autogeneration feature which will automatically link the labels to the inputs.

Unplanned
Last Updated: 04 Sep 2024 10:18 by Mehdi

I want to filter a Grid by DateTimeOffset? field

 

===ADMIN EDIT===

There are two possible options:

1. Use a DTO in which you have a DateTime field converted as desired by your app from the DateTimeOffset. Filtering, sorting, editing, and grouping on DateTime values are supported out-of-the-box.

REPL example that demonstrates this approach. 

2. Use the Grid Filter Template. As a filter editor, you can use the DateTimePicker component, which supports the DateTimeOffset type. 

REPL example that demonstrates this approach. 

 

 

Unplanned
Last Updated: 29 Aug 2024 08:23 by ADMIN
The current Blazor Grid does not support selection of multiple ranges of items in a grid. When executing the following steps  (example is from https://docs.telerik.com/blazor-ui/components/grid/selection/rows) I would expect the row of 'Employee 9' to be selected too, but this is not the case. Therefor a request to make it possible to use the combination Ctrl + Shift in combination with the grid selection to select multiple ranges of items. This would be the same behavior as in Windows Explorer for example.
Unplanned
Last Updated: 23 Aug 2024 12:50 by Mattia

I am using Grid with Cell Selection enabled and DragToSelect="true". If I define a Template inside the GridColumn tag and I add a div inside that, SelectedCellsChanged event handler does not trigger if I start dragging by clicking on the div or if I drop inside that one.

Reproduction: https://blazorrepl.telerik.com/myasmnvQ46Jt7k5n50.

===

ADMIN EDIT

===

The only workaround for the time being is to disable the drag selection and let the user only select cells by clicking them. The cells will be selected even if the user clicks on the custom <div> element inside the template.

Unplanned
Last Updated: 09 Aug 2024 15:55 by Terrence

I have a filterable Grid with Enum values. I am saving the state in the OnStateChanged so I can then restore it on future page loads (similar to the approach here).

When trying to restore the deserialized state in the OnStateInit, the Grid throws:

Unhandled exception rendering component: Specified cast is not valid.

Reproduction: https://blazorrepl.telerik.com/QSaiaDkq55RfazF402.

===

ADMIN EDIT

===

At the time of writing (UI for Blazor 6.1.0), the Grid only supports int as an underlying type of the Enum values. When the state is deserialized, the Enum values are returned as short and this causes the issue.

To handle the scenario for the time being you can modify the state object before setting it to the Grid. Loop through the filter descriptors in the state and convert the filter value of the columns bound to Enum, so the value type in the state is the supported int.

Here is a basic example: https://blazorrepl.telerik.com/woaCOZlT29E05lpL45.

 

Unplanned
Last Updated: 09 Aug 2024 14:06 by Curt

If I group by a column, and one of the values in the column contains a forward slash ( '/'), then the value will not be grouped, the Grid ignores it.

The issue seems to occur only when LoadGroupsOnDemand is set to true.

===

ADMIN EDIT

===

A possible option for the time being is to disable the LoadGroupsOnDemand feature.

Unplanned
Last Updated: 01 Aug 2024 07:12 by Avrohom Yisroel
Created by: Avrohom Yisroel
Comments: 0
Category: Grid
Type: Feature Request
1

Based on some program logic and conditions I want to programmatic scroll to a chosen row so the user can see a specific row. For example:

- Scroll to a selected row

- Scroll to a record, based on its Id

-Scroll to the top of the Grid when the user adds a new item

- Scroll to an expanded item in hierarchical Grid

=====ADMIN EDIT======

We have a knowledge-based article that showcases how to scroll the Grid to the selected row. This article links to a sample GitHub application where you see code samples. If you need to scroll to another row, you can use a similar approach.

Unplanned
Last Updated: 30 Jul 2024 09:38 by Mattia
Created by: Mattia
Comments: 0
Category: Grid
Type: Feature Request
1

As of UI for Blazor 6.0.2 OnRead event handler is triggered twice if Grid has defined the GridAggregates Parameter (if you try defining Grid without the GridAggregates Parameter, the OnRead event handler is caller once). In the first call the args.Request.Aggregates value is empty, while in the second one that field is populated correctly.

The behavior may be related to the fix of this issue but I'd prefer the Grid to fire OnRead only once if possible.

===

ADMIN EDIT

===

Currently, OnRead fires twice only on initial load. A possible optimization that you can implement on your side is to toggle a flag based on which you can process the data only once. You can do that in the second OnRead as this is when the AggregateResults field of the request gets populated.

Here is a basic example: https://blazorrepl.telerik.com/GokrRkYX536x1mSF35.

Unplanned
Last Updated: 18 Jul 2024 08:51 by cvuas

The Grid automatically scrolls to top when adding a new item in inline or incell edit mode. However, when the Grid has locked (frozen) columns, this scrolling doesn't occur.

Here is a test page with a JavaScript workaround in the OnAdd event:

@using System.ComponentModel.DataAnnotations

@inject IJSRuntime js

<label><TelerikCheckBox @bind-Value="@EnableScrollWorkaround" /> Enable Workaround</label>

<TelerikGrid Data="@GridData"
             EditMode="@GridEditMode.Inline"
             OnAdd="@OnGridAdd"
             OnUpdate="@OnGridUpdate"
             OnCreate="@OnGridCreate"
             Width="700px"
             Height="400px"
             Class="grid-class">
    <GridToolBarTemplate>
        <GridCommandButton Command="Add">Add Item</GridCommandButton>
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Field="@nameof(Product.Name)" Width="200px" Locked="true" />
        <GridColumn Field="@nameof(Product.Price)" Width="200px" />
        <GridColumn Field="@nameof(Product.Quantity)" Width="200px" />
        <GridCommandColumn Width="200px" Locked="true">
            <GridCommandButton Command="Edit">Edit</GridCommandButton>
            <GridCommandButton Command="Save" ShowInEdit="true">Save</GridCommandButton>
            <GridCommandButton Command="Cancel" ShowInEdit="true">Cancel</GridCommandButton>
        </GridCommandColumn>
    </GridColumns>
</TelerikGrid>

<script suppress-error="BL9992">

    function scrollGridToTop() {
        var gridContentArea = document.querySelector(".grid-class .k-grid-content");
        if (gridContentArea) {
            gridContentArea.scrollTop = 0;
        }
    }

</script>

@code {
    private bool EnableScrollWorkaround { get; set; } = true;

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

    private int LastId { get; set; }

    private async Task OnGridAdd(GridCommandEventArgs args)
    {
        if (EnableScrollWorkaround)
        {
            await js.InvokeVoidAsync("scrollGridToTop");
        }
    }

    private void OnGridUpdate(GridCommandEventArgs args)
    {
        var updatedItem = (Product)args.Item;
        var originalItemIndex = GridData.FindIndex(i => i.Id == updatedItem.Id);

        if (originalItemIndex != -1)
        {
            GridData[originalItemIndex] = updatedItem;
        }
    }

    private void OnGridCreate(GridCommandEventArgs args)
    {
        var createdItem = (Product)args.Item;

        createdItem.Id = ++LastId;

        GridData.Insert(0, createdItem);
    }

    protected override void OnInitialized()
    {
        for (int i = 1; i <= 30; i++)
        {
            GridData.Add(new Product()
            {
                Id = ++LastId,
                Name = $"Product {LastId}",
                Quantity = (short)Random.Shared.Next(0, 1000),
                StartDate = DateTime.Now.AddDays(-Random.Shared.Next(60, 1000)),
                IsActive = LastId % 4 > 0
            });
        }
    }

    public class Product
    {
        public int Id { get; set; }
        [Required]
        public string Name { get; set; } = string.Empty;
        public decimal Price { get; set; }
        public int Quantity { get; set; }
        public DateTime StartDate { get; set; }
        public bool IsActive { get; set; }
    }
}

Unplanned
Last Updated: 18 Jul 2024 08:09 by Rahul
The arguments within the OnDrop event are incorrectly calculated when a hierarchical grid row is expanded. This is likely because the expanded detail zone is being mistaken for a data row by the drag-and-drop algorithm.
Unplanned
Last Updated: 16 Jul 2024 11:18 by Lajos

In a navigable Grid with incell edit, if a column has Editable=false the tabbing behavior is as follows: while the user is editing the previous editable cell pressing tab results in skipping the non-editable cell and moving the focus to the next editable cell to open it for edit.

However, the behavior is different when cancelling the editing through the OnEdit event. In this case, while the user is editing the previous editable cell pressing tab results in exiting the edit and keeping the focus to the cell. Subsequent tab press moves to focus to the pager.

Reproduction: https://blazorrepl.telerik.com/mykLFEFJ14mlqei429.

===

ADMIN EDIT

===

A possible option for the time being is to cancel the edit as shown in the example above but also force the Grid to enter edit of the next editable cell. You can do that through the State: Enter and Exit Grid Edit Mode Programmatically.

Here is a basic example, you may adjust it as needed to fit your exact requirements: https://blazorrepl.telerik.com/mSuLPAFP05HRs7B555.

Unplanned
Last Updated: 10 Jul 2024 15:52 by Bruno

The Grid shows row skeletons in virtual scrolling scenarios when:

  • The Grid is scrolled half a row, but the Skip value in the Grid state is still zero.
  • The user filters while the Grid PageSize is greater than the total item count.

Test page: https://blazorrepl.telerik.com/mSkBaXkC50cEXmMB42

A possible workaround is to:

  1. Scroll the Grid to the top with JavaScript. This will trigger a new data request automatically.
  2. Reset the Grid state if the Grid is not scrolled, which will again trigger a new data request.

Example: https://blazorrepl.telerik.com/cSYrvEYW19htMCD934

Another possible solution is to disable the virtual scrolling at runtime if the total item count is too small: https://blazorrepl.telerik.com/mSOhvYuW47DaMk6c00

Unplanned
Last Updated: 10 Jul 2024 14:22 by ADMIN

We have a grid with a GridCheckboxColumn that we have configured through a '.unselectable-row' style so that certain elements cannot be selected (those elements with a padlock in the second column cannot be selected).

The grid works correctly in isolation, but when we add a TelerikLoaderContainer that is displayed during data loading process, the grid doesn't working properly: it is possible to select all the enabled elements of the grid using the button in the header of the checkbox column. However it is not possible to deselect them from the button in the header of the checkbox column when there is any unselectable element.

Here it is a link to REPL with a reproducible example: https://blazorrepl.telerik.com/GyYhYXPI24gIYgIJ03

To reproduce the problem, you sholud select all grid elements from the checkbox column header button and try to deselect them. You will not be able to deselect all the elements. 
Now comment the LoaderContainer component and repeat the test. You will see that now it is possible to deselect correctly all the elements.

How can we deselect all the elements from the header while keeping the loadercontainer?

Unplanned
Last Updated: 03 Jul 2024 15:34 by Stuart

I am using a ui framework that has some elements on the body with z-indexes > 1000. Eg a side menu. I am using the Telerik Grid. The Column Menus use the animation container, and because the animation containers get placed directly on the body with a z-index of 2, they always appear behind this side menu.

I want to be able to set a CSS to the main wrapping element of the Column Menu (<div class="k-animation-container>), so I can specifically set the z-index for only Column Menu instances of the animation container. 

Unplanned
Last Updated: 28 Jun 2024 11:20 by De

I have the following configuration:

Editor component in Grid EditorTemplate and the Grid editing mode is popup

Here is a REPL example https://blazorrepl.telerik.com/QeuUwsvb15sxbLuB04

The popup that opens when editing the Grid resizes when I type in the Editor

Steps to reproduce the issue:

1. Run the REPL example

2. Click the Edit button in the Grid

3. Resize the popup

4. Start to type something in the Editor

5. The popup resizes

Unplanned
Last Updated: 14 Jun 2024 06:58 by Nazim
Currently, changing the DateTime format is possible for all other types of FilterMenus. However, the FilterEditorFormat parameter does not affect the dates in a FilterMenu of type CheckBoxList.
Unplanned
Last Updated: 12 Jun 2024 10:28 by Jennifer

The Grid will cancel the insertion of a new item when:

  • the new item is not saved yet
  • the new item is expanded and its DetailTemplate is visible
  • the user changes the value of a column that has an editor template

Blazor REPL test page

===

In the meantime, a possible workaround is to hide the expand button for items, which are not added to the "permanent" Grid data yet. Here is how to do it with CSS:

.k-grid-add-row .k-hierarchy-cell .k-icon {
    display: none;
}
Unplanned
Last Updated: 07 Jun 2024 10:23 by Constantinos Petridis
There are instances where numeric values from parameters are translated to string. One good example is the RowHeight parameter in the Grid. Make sure to use invariant culture to make sure that the string conversion will work for all cultures with different decimal separators. 
Unplanned
Last Updated: 12 Jun 2024 07:06 by ADMIN
Created by: Terrence
Comments: 1
Category: Grid
Type: Feature Request
0
Hi Telerik,

We would like to request for a future improvement, to be able to drag when there is already 1 entry in the Grid. As of now we are able to make a workaround for an empty Grid using the following link: Blazor Grid Row Drag and Drop - Telerik UI for Blazor


We are able to use <NoDataTemplate> and added a padding for it. However, we are unable to do a workaround if there's already 1 entry. See attached "gif".

Thank you.

Regards,
Terrence

1 2 3 4 5 6