Need More Info
Last Updated: 18 Sep 2025 09:37 by Alexander

I'm using an OnRead grid with ExpandoObjects. The error happens on the backend when trying to process the result of ToDataSourceResult(...)

When trying to access the Items property of AggregateFunctionsGroup in a multi level grouping scenario, using ExpandoObject, and the top level group has a null key, trying to access the Items property will result in a NullReferenceException. I've made this helper, but it cannot process the subgroups because of this error.

private static void FlattenGroup<T>(AggregateFunctionsGroup group, List<T> result)
{
    if (group == null)
    {
        return;
    }

    if (group.HasSubgroups)
    {
        foreach (var sub in group.Items.OfType<AggregateFunctionsGroup>())
        {
            FlattenGroup(sub, result);
        }
    }
    else
    {
        result.AddRange(group.Items.OfType<T>());
    }
}

In a scenario where I have an ExpandoObject with properties A and B, where A = 1 and B = null; grouping by A then B works. Grouping by A or B alone also works. But grouping by B then A causes the NullReferenceException when trying to access the group.Items. 

Unplanned
Last Updated: 08 Sep 2025 10:51 by Stephen

When Virtual Scrolling is enabled and the grid is set to inline editing, clicking the Add button does not start editing on the first click. The button must be clicked twice for a new row to enter edit mode.

Steps to Reproduce:

1. Open this example - https://blazorrepl.telerik.com/QfaZEibY50abpby200

2. Scroll down the grid.

3. Click the "Add" button.

Upon the first click, a new row is inserted but then immediately closed. You have to click it a second time to insert a new row.

Completed
Last Updated: 17 Sep 2025 13:41 by ADMIN
Release 2025 Q4 (Nov)
Created by: Plastic
Comments: 3
Category: Grid
Type: Bug Report
1
A Grid component with a ColumnMenu increases memory usage due to event handler leaks specifically associated with the ColumnMenu.
Completed
Last Updated: 03 Sep 2025 08:34 by ADMIN
Release 2025 Q4 (Nov)

We are experiencing an issue where the ExportToPdfAsync() method on TelerikGrid is returning Excel data (XLSX format) instead of PDF data. This is causing MIME type errors when trying to process the exported data as a PDF.

 

===ADMIN EDIT===

Workaround

In the meantime, a possible workaround would be to use the document processing library (make sure the correct packages are installed for it) and import the xlsx file to a workbook, and then export the workbook to PDF. Here is an improvised example that demonstrates this by saving the file in your wwwroot folder as a pdf.

@inject IWebHostEnvironment HostingEnvironment

<TelerikGrid Data="@bookList" Height="75svh" Resizable="true" Sortable="true" Pageable="true" PageSize="15"
             FilterMode="@GridFilterMode.FilterMenu" SelectionMode="@GridSelectionMode.Multiple"
             SelectedItems="@SelectedBooks" @ref="@BookGrid"
             SelectedItemsChanged="@((IEnumerable<BookInfo> sel) => OnRowSelect(sel))">
    <GridToolBarTemplate>
        <TelerikButton OnClick="@GenerateReport">Generate PDF</TelerikButton>
    </GridToolBarTemplate>
    <GridExport>
        <GridPdfExport AllPages="true" PageOrientation="GridPdfExportPageOrientation.Landscape"
                       PaperSize="GridPdfExportPaperSize.A3" />
    </GridExport>
    <GridColumns>
        <GridCheckboxColumn CheckBoxOnlySelection="true"></GridCheckboxColumn>
        <GridColumn Field="ISBN">
            <HeaderTemplate><b>ISBN</b></HeaderTemplate>
        </GridColumn>
        <GridColumn Field="Author">
            <HeaderTemplate><b>Author</b></HeaderTemplate>
        </GridColumn>
        <GridColumn Field="Title">
            <HeaderTemplate><b>Title</b></HeaderTemplate>
        </GridColumn>
        <GridColumn Field="Genre">
            <HeaderTemplate><b>Genre</b></HeaderTemplate>
        </GridColumn>
        <GridColumn Field="PublishedYear">
            <HeaderTemplate><b>Year</b></HeaderTemplate>
        </GridColumn>
        <GridColumn Field="CopiesAvailable">
            <HeaderTemplate><b>Copies</b></HeaderTemplate>
        </GridColumn>
    </GridColumns>
</TelerikGrid>

@code {
    private async Task GenerateReport()
    {
        isLoading = true;
        var pdfStream = await BookGrid.ExportToPdfAsync();

        // The stream is actually XLSX, so convert it to PDF
        using var ms = new MemoryStream(pdfStream.ToArray());

        var xlsxProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider();
        var workbook = xlsxProvider.Import(ms);

        var rootPath = HostingEnvironment.WebRootPath;
        var saveLocation = Path.Combine(rootPath, "LibraryBooks.pdf");
        var pdfProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf.PdfFormatProvider();
        using (var fileStream = new FileStream(saveLocation, FileMode.Create))
        {
            pdfProvider.Export(workbook, fileStream);
        }
    }

    public class BookInfo
    {
        public string ISBN { get; set; }
        public string Author { get; set; }
        public string Title { get; set; }
        public string Genre { get; set; }
        public int PublishedYear { get; set; }
        public int CopiesAvailable { get; set; }
    }

    private List<BookInfo> bookList = new()
    {
        new BookInfo { ISBN = "978-0451524935", Author = "George Orwell", Title = "1984", Genre = "Dystopian", PublishedYear = 1949, CopiesAvailable = 4 },
        new BookInfo { ISBN = "978-0439139601", Author = "J.K. Rowling", Title = "Harry Potter and the Goblet of Fire", Genre = "Fantasy", PublishedYear = 2000, CopiesAvailable = 7 },
        new BookInfo { ISBN = "978-0140449266", Author = "Homer", Title = "The Odyssey", Genre = "Epic Poetry", PublishedYear = -800, CopiesAvailable = 2 }
    };

    private TelerikGrid<BookInfo> BookGrid;
    private List<BookInfo> SelectedBooks = new();
    private bool isLoading = false;

    private void OnRowSelect(IEnumerable<BookInfo> selected)
    {
        SelectedBooks = selected.ToList();
    }
}

 

In Development
Last Updated: 04 Sep 2025 09:23 by ADMIN
Scheduled for 2025 Q4 (Nov)
Created by: Mattia
Comments: 0
Category: Grid
Type: Bug Report
0

Description

Regression introduced in version 10.0.0.

Steps To Reproduce

  1. Run this example: https://blazorrepl.telerik.com/GJkCGCvE51aGglud38
  2. Filter a Grid column and observe the log below the component.

Actual Behavior

The OnStateChanged event fires 4 times

Expected Behavior

The OnStateChanged event fires 2 times (see https://www.telerik.com/blazor-ui/documentation/components/grid/state#onstatechanged).

Browser

All

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

9.1.0

Unplanned
Last Updated: 06 Aug 2025 13:06 by Michael
If you set a given column's Groupable/Sortable/Filterable parameter to false, it will still appear in the toolbar tools list of columns.
Unplanned
Last Updated: 30 Jul 2025 07:58 by Stephan
I want to expand a specific section within the column menu, such as the filter, column chooser, or column position section, when the menu is opened. 
Completed
Last Updated: 05 Aug 2025 10:11 by ADMIN
Release 2025 Q3 (Aug)
Currently, users can cancel editing either by clicking the "Cancel" button, the `X` button in the popup header, or by pressing the Esc key. The expectation is that all three actions should trigger the `OnCancel` event.
Declined
Last Updated: 30 Jul 2025 07:39 by ADMIN
Created by: Marco
Comments: 1
Category: Grid
Type: Feature Request
1

Hy,

It is possible to have default color themes (Primary,Dark,Info,Error,...) for Telerik Blazor Grid component as well without having to change the color by css overriding?

Completed
Last Updated: 22 Jul 2025 05:55 by ADMIN
Release 2025 Q3 (Aug)
Created by: Alexander
Comments: 0
Category: Grid
Type: Bug Report
2

The focus indicator on the GridSearchBox is broken when using an outline themes like A11Y, Bootstrap etc.

Workaround:

Temporarily override the overflow style on .k-toolbar-items (e.g., overflow: unset;) using custom CSS to restore the focus indicator.

Duplicated
Last Updated: 09 Jul 2025 08:24 by ADMIN
Created by: Alexander
Comments: 0
Category: Grid
Type: Bug Report
2

Refreshing the Grid data frequently may cause performance issues.

Unplanned
Last Updated: 23 Jun 2025 08:06 by Nicodemus

I want to change the default Grid loading animation to a pulsing loader indicator.

Unplanned
Last Updated: 27 Jun 2025 08:29 by ADMIN

When enabling resizing and reordering for the Telerik Grid, using `MinResizableWidth` to set minimal column width will apply the constraint to the column position rather than the actual movable column. This means applying a min width of 200px to the first column will work as expected until the column is moved to another position. Now the column in question no longer has the min width applied, and the column that has moved into the first position has the 200px min width constraint. 

It appears this is due to the constraint being applied to the `data-col-index` rather than the `data-col-initialization-index`, or something to that effect.

The following example has a 200px min-width constraint applied to the "Name" first column, and no custom min-with applied to "Address" second column. Switching the columns by moving the "Name" after the "Address" will apply the constraint to the "Address" and not the "Name".

https://blazorrepl.telerik.com/QJEAcuPE41L7Uhiw44

Currently using 7.1.0 but looks to be an issue in later versions as shown by the REPL example. Tested in Firefox and Chrome.

The column position is arbitrary and the bug isn't due to the constraint being applied to the 0 column, applying the constrain to all even columns then shuffling would result in the constrain still being applied to all even columns.

Declined
Last Updated: 21 Jun 2025 02:07 by Philip

Hello

 

The new adaptive toolbar I think doesn't follow the same style as other components, particularly scrollable tabs.

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

The UI scroll buttons shouldn't just disable, they just be hidden/removed from the UI altogether when they are not active (as it is pretty confusing to the user otherwise) - they should only appear when they need to appear. They also take up real-estate for no value.

Telerik already have the same concept in the UI for the scrollable-tabs seen here;

https://demos.telerik.com/blazor-ui/tabstrip/scrollable-tabs

So I see some inconsistency between the 2 UI's and think they should not appear as does on scrollable tabs.

 

Completed
Last Updated: 18 Jun 2025 09:40 by ADMIN
Release 2025 Q3 (Aug)
Created by: Rami
Comments: 1
Category: Grid
Type: Bug Report
0

The Grid component creates an invalid property value in its style for the <table> tag like shown below (some of the contents omitted for brevity). Notice the "width: ;" which should have a value in it.

<table style="height: auto; width: ;"></table>

This can be observed for example by creating a page with the below code and the using the browsers developer tools to examine the elements. Both Grids will have their CSS width property be invalid.

<TelerikGrid Data="@data" AutoGenerateColumns="true">
</TelerikGrid>

<TelerikGrid Width="200px" Data="@data" AutoGenerateColumns="true">
</TelerikGrid>

@code {
    private List<Product> data = new () { 
        new Product() {
            Id = 2,
            Name = "Hello product"
        }    
    };

 public class Product {
        public int Id { get; set; }
        public string Name { get; set; } = string.Empty;
    }
}

Unplanned
Last Updated: 06 Jun 2025 16:05 by Craig
Created by: Craig
Comments: 1
Category: Grid
Type: Feature Request
8
Rebind() causes exceptions in async OnRead() as the Rebind method is synchronous.
Completed
Last Updated: 20 Jun 2025 15:21 by Denny
Release 2025 Q3 (Aug)

When attempting to utilize the FilterMenuButtonsTemplate component, after selecting any of the defined action buttons (i.e., Clear, Filter, etc.), the selection will cause the page to refresh.

Steps:

  1. Proceed to the Telerik Blazor documentation page for Filter Menu Buttons Template within the Grid component.
  2. View the example for Using custom filter menu buttons.
  3. Ensure that this is the first time loading the component as the error will only occur on the example page when first initialized.
  4. Select the filter button within the “Price” column header.
  5. Press the “Clear” button.
Unplanned
Last Updated: 30 May 2025 10:58 by Tim
Created by: Tim
Comments: 0
Category: Grid
Type: Bug Report
1

If the GridScrollMode.Virtual is enabled for the Grid, and the NoDataTemplate exceeds the height of the Grid container, a user can infinitely scroll inside the table even when there is no data and the template is displaying.

 

===ADMIN EDIT===

A possible workaround is to apply "overflow-y: hidden;" when the NoDataTemplate is shown: REPL link.

Unplanned
Last Updated: 31 May 2025 03:23 by Philip

Since verion 9, the new styling is doing something strange.

The issue is also observable on the Tererik demo site (as well as our published applications) but I have noticed its on webassembly more-so than server apps;

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

 

If I run the demo site, the new pagination style (where you can type the page you want to navigate to) will flash up for a second, then it will go back to the old style after a second or 2.

 

Would anyone know why this is happening?

 

Need More Info
Last Updated: 04 Jun 2025 07:48 by ADMIN
Created by: Paul
Comments: 1
Category: Grid
Type: Feature Request
1

I would like to add some custom actions into the popup window. I know I can implement a custom edit popup with an entirely custom content and actions. However, this requires a lot of custom work to just add one additional action in the popup. Please provide an easier option to add custom actions in the edit window.

1 2 3 4 5 6