Unplanned
Last Updated: 01 Sep 2021 10:19 by ADMIN
Created by: BENAISSA
Comments: 0
Category: Grid
Type: Feature Request
2

Currently, when you open a ColumnMenu, to expand its SubMenus (for example, Filter, Column chooser) you need to additionally click on the corresponding button.

I'd like to have these SubMenus initially expanded when the ColumnMenu is opened.

Unplanned
Last Updated: 03 Sep 2021 07:17 by ADMIN
Created by: BENAISSA
Comments: 0
Category: Grid
Type: Feature Request
1

Hi,

 

Please lunch your demo on mobile, and try resizing a column it is very hard or impossible to do it.

Isn't possible to make resizing more pixel sensible around the separator for instance 10 pixels, and add AUTO FIT column/columns in column menu.  

 

Best regards,

Unplanned
Last Updated: 16 Aug 2021 16:00 by ADMIN
Created by: Frank
Comments: 0
Category: Grid
Type: Feature Request
4
If a Grid column is bound to a nullable bool field and some of the data source records have null values for that field, you cannot filter the Grid by these values. The only available options for filtering bool? field are true and false (no null).
Unplanned
Last Updated: 16 Aug 2021 16:00 by ADMIN
Created by: Frank
Comments: 0
Category: Grid
Type: Feature Request
2

If a Grid column is bound to a nullable bool field and some of the data source records have null values for that field they are not displayed, the Grid cells appear empty.

It would be nice if the Grid displays some text for the null values, for example just "null".

Unplanned
Last Updated: 03 Aug 2021 10:45 by ADMIN

For example in the following demo:

https://demos.telerik.com/blazor-ui/grid/custom-filter-menu

If I first filter "38" by "Size" and then open the second filter menu "Product Name", I see all the product names in the pop-up, not only the previously filtered by "Size" names. I want to see in the second filter pop-up only the filtered names by "Size".

It will be nice to have this grid filter out-of-box, so you don't have to scroll to unwanted values not part of the first filter.

 

------------ADMIN EDIT-------------

As a possible workaround, you can use the Filter Menu Template:

It allows you to change the data for the filter menu.

Unplanned
Last Updated: 12 Jul 2021 15:21 by ADMIN
Created by: Meindert
Comments: 0
Category: Grid
Type: Feature Request
2

I want to use a multi-checkbox filter with ExpandoObject in Grid.

Unplanned
Last Updated: 17 May 2022 07:50 by ADMIN
Created by: Steven
Comments: 4
Category: Grid
Type: Feature Request
15

Add a setting similar to the AllowUnsort so that I can disable the unsorted state of the Grid.

ADMIN EDIT:

Here is how to achieve this with the Grid state.

Unplanned
Last Updated: 12 Sep 2024 01:44 by Federico
Created by: Igor
Comments: 3
Category: Grid
Type: Feature Request
43

In a grouped Grid with editing if I collapse all groups and then expand one to edit an item in it, once I press Enter to complete the editing all groups expand.

Please add option for persisting the Collapsed State of the groups.

---

TELERIK EDIT


The feature applies to the other data operations as well (for example, paging, sorting).

Here is how to maintain the collapsed groups after editing by using the Grid OnStateChanged event and the Grid state as a whole:

@using Telerik.DataSource

<TelerikGrid @ref="@GridRef"
             Data="@GridData"
             TItem="@Employee"
             Pageable="true"
             Sortable="true"
             Groupable="true"
             FilterMode="GridFilterMode.FilterRow"
             OnStateInit="@OnGridStateInit"
             OnStateChanged="@OnGridStateChanged"
             EditMode="@GridEditMode.Inline"
             OnUpdate="@OnGridUpdate">
    <GridColumns>
        <GridColumn Field="@nameof(Employee.Name)" />
        <GridColumn Field="@nameof(Employee.Team)" />
        <GridColumn Field="@nameof(Employee.Salary)" />
        <GridColumn Field="@nameof(Employee.OnVacation)" />
        <GridCommandColumn>
            <GridCommandButton Command="Save" Icon="@SvgIcon.Save" ShowInEdit="true">Update</GridCommandButton>
            <GridCommandButton Command="Edit" Icon="@SvgIcon.Pencil">Edit</GridCommandButton>
            <GridCommandButton Command="Cancel" Icon="@SvgIcon.Cancel" ShowInEdit="true">Cancel</GridCommandButton>
        </GridCommandColumn>
    </GridColumns>
</TelerikGrid>

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

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

    private ICollection<int>? GridCollapsedGroups { get; set; }

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

        if (originalItemIndex >= 0)
        {
            GridData[originalItemIndex] = updatedItem;
        }

        GridCollapsedGroups = GridRef!.GetState().CollapsedGroups;
    }

    private async Task OnGridStateChanged(GridStateEventArgs<Employee> args)
    {
        if (args.PropertyName == "EditItem" && GridCollapsedGroups != null)
        {
            args.GridState.CollapsedGroups = GridCollapsedGroups;

            await GridRef!.SetStateAsync(args.GridState);

            GridCollapsedGroups = default;
        }
    }

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

    protected override void OnInitialized()
    {
        for (int i = 1; i <= 20; i++)
        {
            GridData.Add(new Employee()
            {
                Id = i,
                Name = $"Name {i}",
                Team = $"Team {i % 4 + 1}",
                Salary = (decimal)Random.Shared.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: 24 Apr 2025 05:25 by ADMIN
I would like to click on the grouping row and expand the Group. 
Unplanned
Last Updated: 21 Jun 2021 07:42 by ADMIN
When adding an item in InCell mode and a cell on the row has an invalid value the Grid should keep the record in edit mode until a valid value is entered
Unplanned
Last Updated: 14 Jun 2021 12:27 by ADMIN
Created by: Michael
Comments: 0
Category: Grid
Type: Feature Request
3

We often have grid data with a widely varying quantity of cell content from row to row. We usually present this with constant row height initially to have as much row overview as possible at a glance.

Grabbing the row divider line and individually make it larger or even double click on it to fit the size would be very useful for users.

Unplanned
Last Updated: 11 Jun 2021 11:52 by ADMIN
Created by: Walter
Comments: 0
Category: Grid
Type: Feature Request
12
I would like to be able to customize the Drag Clue with a Template. 
Unplanned
Last Updated: 30 Oct 2023 15:45 by Fernando
Created by: Walter
Comments: 3
Category: Grid
Type: Feature Request
17
I would like to have an event that fires when the Drag operation starts. 
Unplanned
Last Updated: 13 May 2021 17:07 by ADMIN
Created by: Wes
Comments: 0
Category: Grid
Type: Feature Request
3

When you set widths to some columns in the grid, the rest of the columns stretch to accommodate the rest of the width. Thus, the row drag column can stretch and become unexpectedly wide. A screenshot of the problem is attached.

Perhaps the GridRowDraggableSettings could have a parameter for the width of the draggable column.

 

<AdminEdit>

As a workaround you can use some CSS to set a width for the Drag column:

<style>
    .custom-row-draggable-col-width.k-grid .k-drag-col {
        width: 100px;
    }
</style>

<TelerikGrid Data="@MyData" Height="400px"
             Class="custom-row-draggable-col-width"
             Pageable="true"
             Resizable="true"
             Reorderable="true"
             RowDraggable="true"
             OnRowDrop="@((GridRowDropEventArgs<SampleData> args) => OnRowDropHandler(args))">
    <GridSettings>
        <GridRowDraggableSettings DragClueField="@nameof(SampleData.Name)"></GridRowDraggableSettings>
    </GridSettings>
    <GridColumns>
        <GridColumn Field="@(nameof(SampleData.Id))" Width="120px" />
        <GridColumn Field="@(nameof(SampleData.Name))" Title="Employee Name" Groupable="false" />
        <GridColumn Field="@(nameof(SampleData.Team))" Title="Team" />
        <GridColumn Field="@(nameof(SampleData.HireDate))" Title="Hire Date" />
    </GridColumns>
</TelerikGrid>

@code {
    private void OnRowDropHandler(GridRowDropEventArgs<SampleData> args)
    {
        //The data manipulations in this example are to showcase a basic scenario.
        //In your application you should implement them as per the needs of the project.

        MyData.Remove(args.Item);

        var destinationItemIndex = MyData.IndexOf(args.DestinationItem);

        if (args.DropPosition == GridRowDropPosition.After)
        {
            destinationItemIndex++;
        }

        MyData.Insert(destinationItemIndex, args.Item);
    }

    public List<SampleData> MyData = Enumerable.Range(1, 30).Select(x => new SampleData
    {
        Id = x,
        Name = "name " + x,
        Team = "team " + x % 5,
        HireDate = DateTime.Now.AddDays(-x).Date
    }).ToList();

    public class SampleData
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Team { get; set; }
        public DateTime HireDate { get; set; }
    }
}

</AdminEdit>

Unplanned
Last Updated: 03 Sep 2024 12:49 by Emmett
Created by: Brian
Comments: 5
Category: Grid
Type: Feature Request
26
I would like to use the endless scrolling feature (like in the Telerik UI for jQuery) with the Telerik Blazor Grid.
Unplanned
Last Updated: 13 Apr 2021 06:43 by ADMIN

I noticed after debugging a problem when editing some rather complex rows in a grid that the grid internally calls Telerik.Blazor.Extensions.ObjectExtensions.Clone(...) to create a deep clone for editing. If the object being cloned implements System.ICloneable then this is ignored and an attempt is made to clone it using reflection - the problem is that ObjectExtensions.Clone(...) fails for a number of cases and observing ICloneable would give a developer the means to implement the correct cloning behaviour.

I'm not asking for ObjectExtensions.Clone(...) to be fixed in any way (after all, no matter what you do there will always be some cases it cannot handle), just to use ICloneable where possible.

As an aside, the failed cases were:

  • object has an indexer with get/set (exception thrown by ObjectExtensions.Clone() because it attempts to read the value without passing an index)
  • object implements IEnumerable, including arrays (original object returned without being cloned)
  • object contains a circular reference (stack overflow)
Unplanned
Last Updated: 08 Apr 2021 09:00 by ADMIN
Currently, the Shift key is handled only through the selection of row dom elements and not through the checkbox elements.
Unplanned
Last Updated: 21 Mar 2021 07:55 by ADMIN
I want to add text like "Grouped By" just before the indicators for which fields the grid is grouped by, highlighted in the attached screenshot from our Silverlight grid.
Unplanned
Last Updated: 08 Apr 2022 10:07 by ADMIN
Created by: Jason Parrish
Comments: 2
Category: Grid
Type: Feature Request
3

I would like the grid and treelist to honor the DisplayFormatAttribute.NullDisplayText Property so I don't have to use cell templates to change what null values render.

FYI... Here's a REPL of it not respecting it

Unplanned
Last Updated: 17 Jul 2021 14:19 by ADMIN
Enable the user to select multiple records, using the shift key, across different pages (scroll downs) when the Grid has virtual scrolling.