Completed
Last Updated: 01 Feb 2022 11:16 by ADMIN
Release 3.1.0
Created by: Vitro
Comments: 1
Category: Grid
Type: Bug Report
2

If you create a second Grid on the page, it will clear the SearchBox input value of the first Grid.

<p><TelerikButton OnClick="@ToggleSecondGrid">Toggle Second Grid</TelerikButton></p>

<TelerikGrid Data="@GridData">
    <GridToolBar>
        <GridSearchBox />
    </GridToolBar>
    <GridColumns>
        <GridColumn Field=@nameof(Product.ProductName) Title="Product Name" />
    </GridColumns>
</TelerikGrid>

@if (ShowSecondGrid)
{
    <TelerikGrid Data="@( new List<Product>() )">
        <GridColumns>
            <GridColumn />
        </GridColumns>
    </TelerikGrid>
}

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

    bool ShowSecondGrid { get; set; }

    async Task ToggleSecondGrid()
    {
        ShowSecondGrid = !ShowSecondGrid;
    }

    protected override void OnInitialized()
    {
        GridData = new List<Product>();

        for (int i = 1; i <= 5; i++)
        {
            GridData.Add(new Product()
            {
                ProductId = i,
                ProductName = "Product " + i.ToString(),
                UnitPrice = (decimal)(i * 3.14),
                UnitsInStock = (short)(i * 1),
                Discontinued = false
            });
        }
    }

    public class Product
    {
        public int ProductId { get; set; }
        public string ProductName { get; set; }
        public decimal? UnitPrice { get; set; }
        public short? UnitsInStock { get; set; }
        public bool Discontinued { get; set; }
    }
}

Unplanned
Last Updated: 16 Mar 2022 14:07 by Greg

Does the Blazor grid have any support for any or all queries on sub-property collections? I would like to have the grid OnRead be able to generate a query against a sub-entity collection.

E.g.

GET serviceRoot/People?$filter=Emails/any(s:endswith(s, 'contoso.com'))

From what I can tell the Column.FieldName property only will generate a valid query for scalar properties. Is there any way to make this work?

Given the Northwind OData sample https://demos.telerik.com/kendo-ui/service-v4/odata. I would like to display a grid of all customers. In the grid, I would like to have a column that provides filtering for the orders shipper column as in the query below.

https://demos.telerik.com/kendo-ui/service-v4/odata/Customers?$expand=Orders&$filter=Orders/any(d: contains(d/Shipper/CompanyName,'Speedy Express'))

There does not seem to be a way for the in-built filter mechanism to use a lambda and it seems like there should be.

Completed
Last Updated: 12 Oct 2022 07:26 by ADMIN
Release 3.7.0 (09 Nov 2022)
Created by: Mike
Comments: 0
Category: Grid
Type: Feature Request
2

I want to place the Pager on top of the Grid. I know it can be handled with a Pager component integration in the Grid Toolbar, but I want to use the Toolbar for other purposes/actions. Please allow control over the Pager position.

Unplanned
Last Updated: 25 Apr 2022 12:18 by Dan
Created by: Dan
Comments: 0
Category: Grid
Type: Feature Request
2

Expose GroupableSettings with an option to specify whether to render the group footer. The possible values should be always (like current implementation), or when the group is expanded. An example (just for demonstration) api would be:

```

<GridSettings>

<GridGroupableSettings Footer="@GridGroupableFooterVisible.Always | @GridGroupableFooterVisible.Expanded"></GridGroupableSettings>

</GridSettings>

```

Duplicated
Last Updated: 17 Oct 2022 10:31 by ADMIN
Created by: Mike
Comments: 0
Category: Grid
Type: Feature Request
2

Key events will allow developers to enhance and customize the Grid keyboard navigation. For example -

Detect when the user presses the down-arrow key when on the last grid row. We want to force a "next page" when they do this, and a "previous page" if they are at the top of the grid and press the up-arrow key.

---

ADMIT EDIT

Everyone, please feel free to list other scenarios as well.

Unplanned
Last Updated: 10 Oct 2024 08:11 by ADMIN
In a template column scenario, when the cell contains focusable elements, pressing Enter doesn't move focus to the element in the cell.
Completed
Last Updated: 25 Sep 2023 11:47 by ADMIN
Created by: Taarti
Comments: 0
Category: Grid
Type: Bug Report
2
NVDA is not narrating Name and narrating selected value twice for the dropdowns which are present in the 'Filter' dialog in column headers.
Unplanned
Last Updated: 21 Oct 2022 15:34 by Rick

Consider the following example. It will trigger AmbiguousMatchException, because reflection discovers two SpecialProp properties.

<TelerikGrid TItem="@GridModel"
             Data="@GridData"
             AutoGenerateColumns="true">
</TelerikGrid>

@code {
    List<GridModel> GridData { get; set; } = new();

    protected override void OnInitialized()
    {
        for (int i = 1; i <= 3; i++)
        {
            GridData.Add(new GridModel()
            {
                SpecialProp = i,
                Text = "Text " + (i * 111)
            });
        }
    }

    public record GridModel : Base1 { }

    public record Base1 : Base2
    {
        public new decimal? SpecialProp { get => base.SpecialProp / base.HelperProp.GetValueOrDefault(1); set => base.SpecialProp = value.HasValue ? (int)(value.GetValueOrDefault() * base.HelperProp.GetValueOrDefault(1)) : null; }
    }

    public record Base2
    {
        public int? SpecialProp { get; set; }
        public string Text { get; set; }
        public int? HelperProp = 10;
    }
}

Why not replace

private PropertyInfo FieldPropertyInfo => ContainerGenericArgument?.GetProperty(Field);

with something like

PropertyInfo FieldPropertyInfo = ContainerGenericArgument?.GetProperties().FirstOrDefault(p => p.Name == Field);

with the possibility to cache the result from GetProperties()?

Unplanned
Last Updated: 09 Sep 2022 13:47 by Susan

Description

OnRead event is triggered multiple times when the page is different from the first one and the page size is changed.

Reproduction (if bug)

1. Create a grid and set the pageable and page sizes options

2. Navigate to a page different from the first one.

3. Change the page size.

4. The OnRead event is triggered twice.

Sample REPL for reproduction.

Browser (if bug)
All

Project type (if bug)
All

Last working version of Telerik UI for Blazor (if regression)
3.5.0

Unplanned
Last Updated: 20 Sep 2022 11:46 by Paul
Created by: Paul
Comments: 0
Category: Grid
Type: Feature Request
2
I would like to add a custom CSS class to the footer cell of each Grid column to cascade some custom styles easily. 
Completed
Last Updated: 14 Nov 2024 09:27 by ADMIN
Release 7.0.0
When you click on the blank space under the rows inside a Grid with Incell editing, the OnUpdate does not fire.
Unplanned
Last Updated: 24 Oct 2022 08:22 by Peter

I have a Grid with numerous columns and I am using inline editing. When in edit mode, I'd like to add custom content to each cell - for example, a validation error message from server validation.

To achieve that, I have to use EditorTemplate. However, I want to keep the default editor because I'd like to avoid having to add the relevant control for every single cell each time I add a new Grid.

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

I have a Grid with Navigable="true" and FilterRow. If I focus a string filter input and press the left/right arrow keys, the focus moves away from the cell. This behavior also occurs when I press up/down arrows in numeric filter inputs.

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

Unplanned
Last Updated: 21 Dec 2022 13:38 by ADMIN
Created by: Daniel
Comments: 0
Category: Grid
Type: Feature Request
2

A nice feature would be frozen Group Rows.

So if you grouped your data in the Grid and scroll. The Group should stick underneath the header.

As an example look here: https://www.ag-grid.com/angular-data-grid/grouping-sticky-groups/

Completed
Last Updated: 08 Mar 2023 10:07 by ADMIN
Release 4.1.0 (15/03/2023)
Created by: Meindert
Comments: 2
Category: Grid
Type: Bug Report
2
Triggering edit mode leads to re-renders in other cells. 
Unplanned
Last Updated: 10 May 2023 09:57 by ADMIN
Created by: Andy
Comments: 3
Category: Grid
Type: Feature Request
2

Are there any plans to have the datagrid be both groupable and draggable?

Thanks,

Andy

Unplanned
Last Updated: 05 Feb 2024 12:29 by Constantinos Petridis
Support for IDictionary and value mapper or/and custom implementations of IDictionary
Unplanned
Last Updated: 13 Feb 2024 10:56 by ADMIN

I have a Grid bound to ObservableCollection and I try to add a new record, the Grid stays in edit mode even if I click the Save button. 

Workaround:

@using System.Collections.ObjectModel
@using Telerik.FontIcons

<TelerikGrid Data="@Cards"
             Height="800px"
             FilterMode="GridFilterMode.FilterRow"
             EditMode="GridEditMode.Inline"
             OnCreate="NewCard"
             OnUpdate="UpdateCard"
             OnDelete="DeleteCard"
             ConfirmDelete="true"
             @ref="@GridReference">
    <GridToolBarTemplate>
        <GridCommandButton Command="Add" Icon="@FontIcon.Plus">New</GridCommandButton>
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Field="@nameof(AdminCard.SerialNumber)" Title="Serial number" />
        <GridColumn Field="@nameof(AdminCard.DisplayNumber)" Title="Display number" />
        <GridColumn Field="@nameof(AdminCard.Name)" />
        <GridCommandColumn Width="140px">
            <GridCommandButton Command="Save" Icon="@FontIcon.Save" ShowInEdit="true" />
            <GridCommandButton Command="Edit" Icon="@FontIcon.Pencil" />
            <GridCommandButton Command="Delete" Icon="@FontIcon.Trash" />
            <GridCommandButton Command="Cancel" Icon="@FontIcon.Cancel" ShowInEdit="true" />
        </GridCommandColumn>
    </GridColumns>
</TelerikGrid>

@code {
    TelerikGrid<AdminCard> GridReference { get; set; }

    public ObservableCollection<AdminCard> Cards { get; set; } = new();

    protected override async Task OnInitializedAsync() =>
      Cards = new ObservableCollection<AdminCard>{
        new AdminCard{SerialNumber="123", DisplayNumber="1234 1234", Name="Jim"}
                      };

    private async Task NewCard(GridCommandEventArgs args)
    {
        AdminCard card = (AdminCard)args.Item;
        Cards.Add(card);

        //apply this after saving the new record to the database
        var gridState = GridReference.GetState();
        gridState.InsertedItem = null;
        gridState.OriginalEditItem = null;
        await GridReference.SetStateAsync(gridState);
    }

    private async Task UpdateCard(GridCommandEventArgs args)
    {
        AdminCard fromGrid = (AdminCard)args.Item;
        AdminCard existing = Cards.Single(c => c.Id == fromGrid.Id);
        existing.SerialNumber = fromGrid.SerialNumber;
        existing.DisplayNumber = fromGrid.DisplayNumber;
        existing.Name = fromGrid.Name;
    }

    private async Task DeleteCard(GridCommandEventArgs args)
    {
        AdminCard card = (AdminCard)args.Item;
        Cards.Remove(card);
    }

    public class AdminCard
    {
        public string Id { get; set; } = Guid.NewGuid().ToString();
        public string SerialNumber { get; set; } = "";
        public string DisplayNumber { get; set; } = "";
        public string Name { get; set; } = "";
    }
}

Unplanned
Last Updated: 31 Jul 2023 10:18 by Frank
Hi

is there a way to make the Filtering in a grid work with wildcard symbols like '%' or '*' ?

I have checked the page https://docs.telerik.com/blazor-ui/common-features/filter-operators

For strings none of the possible operators seems to support wildcard symbols, they all treat it the symbol "as is" leading to no results. 

Guessing that the filtering is using Linq and Expressions so it would be nice if the FilterDescriptor constructor could accept a predicate function as parameter how the FilterValue is to be evaluated. I can see in the API reference that there is a protected method:

CreateFilterExpression(ParameterExpression parameterExpression)
but that is not usable / accessible when programmatically working with FilterDescriptor instances. 

Do you have plans for allowing wildcards in filter or offering new FilterOperators like "Regex" ? Or plans where a client could implement their own custom FilterOperators? 

Thanks

Frank
Unplanned
Last Updated: 21 Aug 2023 11:30 by Zachary
I have a Grid with Virtual Rows. When the user reaches the last row in the current Page, the Enter key will not switch to the next row which is beyond the PageSize.