Completed
Last Updated: 17 Dec 2021 13:07 by Rob
Release 2.30.0
Created by: Jason
Comments: 18
Category: Grid
Type: Bug Report
18

Occasionally I am getting TaskCancellation errors such as:

[13:07:52 ERR] Unhandled exception in circuit 'hQsJqY3F4XbTbzQETSggJClg_e4YRyQkrKHFMHCXugM'.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
   at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
   at Telerik.Blazor.Components.TelerikComboBox`2.Dispose()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_0(Object state)
   at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.ExecuteSynchronously(TaskCompletionSource`1 completion, SendOrPostCallback d, Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.ExecuteBackground(WorkItem item)

 

===========

ADMIN EDIT

===========

The error is related to a Microsoft bug. It occurs one minute after some client component has been disposed.

The exceptions are not bypassed due to memory leak. The bug is expected to be fixed in .NET 6 and this will be respected for the Telerik components, so that the errors do not appear.

Declined
Last Updated: 16 Dec 2021 14:03 by Alan

Documentation states that Grid supports Virtualization with Grouping if it is done by loading the Groups on-demand.

See:



On page: Blazor Grid - Load Group Data On Demand | Telerik UI for Blazor

From this, it appears that Virtual Scrolling, Group Load on Demand, and pagination of the results should function as expected.  I'm specifically focusing on the section where it says "load on demand for the data when the user expands a group or when they scroll to need a new set of available groups".

The behavior I am seeing in my Telerik Repl is not matching up with that.

See:  https://blazorrepl.telerik.com/QFbmurvT41eZq6Ld34

 

In the repl, I have added some Console.WriteLines to see when OnRead is actually called, as well as to log out some other information about the OnRead Request.  It can be seen that no pagination information is included in the request (PageSize = 0, Skip = 0) while the PageSize is set on the actual Grid component (PageSize = 20).

 

As a result, all groups are loaded initially, which will be problematic if my server-side data set is being grouped on a value that will result in thousands/millions of groups.

 

It is possible that I missed something in the documentation that would enable the expected behavior (the Grid actually giving me PageSize and Skip so pagination will actually work), but it is also equally possible that this was never intended behavior, and I have been misled by the documentation page.

Unplanned
Last Updated: 14 Dec 2021 14:20 by ADMIN

If a Grid with ColumnVirtualization enabled is programmatically resized at runtime, some of its cells appear empty. 

The same behavior will occur after column resizing. It looks like it is not accordingly updated as if a scroll horizontally, it updates and the missing data is rendered.

===

Edit: Here is a workaround for the column resizing scenario. Part of this approach can be used to workaround Grid resizing as well -

Use the OnStateChanged event simulate horizontal scrolling inside the Grid after column resize. The custom Grid CSS class is optional, if there are pages with multiple Grids.

Razor

<TelerikGrid Class="virtual-grid"
  OnStateChanged="@( (GridStateEventArgs<GridModel> args) => OnGridStateChanged(args) )" />

 

C#

    async Task OnGridStateChanged(GridStateEventArgs<User> args)
    {
        if (args.PropertyName == "ColumnStates")
        {
            await js.InvokeVoidAsync("loadColumns", "virtual-grid");
        }
    }

 

JavaScript

function loadColumns(gridClass) {
    var rowContainer = document.querySelector("." + gridClass + " .k-grid-content");
    if (rowContainer) {
        rowContainer.scrollLeft += 1;
        rowContainer.scrollLeft -= 1;
    }
}

 

Completed
Last Updated: 13 Dec 2021 07:57 by Ironoak
Release 2.9.0
Created by: Michael
Comments: 10
Category: Grid
Type: Feature Request
26
At this point only the user can group the grid. I want to be able to set initial grouping with my code. This should also allow me to group by columns that are not visible/rendered at the moment.
Completed
Last Updated: 08 Dec 2021 14:11 by ADMIN

I have a WASM application and I setup my Grid to use the editor as an editing field in the Grid. When the user types something the application is laggy and it might even hang.

---

ADMIN EDIT

Attached is a sample app that alleviates this a little by using a regular textarea and making editor updates less frequent.

---

Unplanned
Last Updated: 07 Dec 2021 10:15 by ADMIN
Created by: Martin Herløv
Comments: 0
Category: Grid
Type: Feature Request
2
Add the FocusAsync method to the reference of the Grid SearchBox
Completed
Last Updated: 03 Dec 2021 14:32 by ADMIN
Release 2.30.0
Created by: Radko
Comments: 0
Category: Grid
Type: Feature Request
3
I would like to be able to set constraints for min and max width for the draggable resizing introduced by the Resizable parameter of the Column. Meaning, if I set a min width of 50 pixels, I would like for the column to not be able to shrink beyond this point when manually resized by the draggable handle.
Unplanned
Last Updated: 03 Dec 2021 10:40 by ADMIN
Selected items are not preserved when loading the state when the component is bound to ExpandoObjects
Completed
Last Updated: 03 Dec 2021 07:27 by ADMIN
Release 2.30.0
The generated checkbox column html does not have a label (either the label element or aria-label attribute).
Completed
Last Updated: 02 Dec 2021 20:25 by ADMIN
Release 2.30.0
Created by: Jurgen
Comments: 3
Category: Grid
Type: Feature Request
17

I want to edit the Excel file the grid exports before it gets to the user. For example, to add a sheet with data I want to generate, or to change columns, formats, colors.

----

ADMIN EDIT

I have attached to this post an example that shows how you can generate your own exported file so you can customize colors, sheets and so on. It also shows how to cache the DataSourceRequest of the grid so you can extract only the current page or all data, and so you can also apply the current grid sorts/filters and so on to the export. This also lets you add metadata to the sheet such as the current user settings such as filters that resulted in this filter.

----

Completed
Last Updated: 02 Dec 2021 15:20 by ADMIN
Release 2.30.0
Created by: Tom
Comments: 1
Category: Grid
Type: Feature Request
11

Hi,

 

It would be nice to have a property available on a GridColumn where you could indicate that the column should only be visible when you export the data, and not on, screen.

 

Thanks,

Tom

Completed
Last Updated: 02 Dec 2021 15:00 by ADMIN
Release 2.30.0
Created by: Arianis
Comments: 0
Category: Grid
Type: Feature Request
9

I would like to export custom data to excel, for example - the selected items.

 

<AdminEdit>

As an attached file, you can see a sample implementation that shows how you can export the Selected Items from the Grid to excel.

</AdminEdit>

Completed
Last Updated: 02 Dec 2021 10:06 by ADMIN
Release 2.30.0

Using the Excel Export for Grid creates the Excel file, but on opening it, the columns that contain data are hidden. Unless I unhide the columns, the sprceadsheet looks empty.

---
ADMIN EDIT:
One idea to go about this is to expose an event that would allow users to modify the column width values before they get sent for export. The benefit of this approach is that if the columns are resized, the user will receive their current size in the specified unit e.g. rem, em or % and will be able to set the width in px.

Another idea is to default such column widths to some hardcoded value (say, 64px) or even the grid might try to calculate them (which can cause questionable results in stranger settings, but it is an idea - if an event gets exposed you will be able to do that in your application code).

---

Duplicated
Last Updated: 01 Dec 2021 09:54 by ADMIN

I would prefer if you can use the FilterMenuTemplate in such a way that you can fetch also "filter criteria" from other fields/columns.

 

An example:

- grid has 3 coluns > Name, City, Population

- filter mode is set to filter menu and my filter menu should display at the first column.

- after the filter dialog is opened my expactation is that it includes also entries from other fields

 

In summary, my team would welcome the opportunity of central approach for filtering with multiple fields.

 

 

 

Regards,

Özmen

Completed
Last Updated: 30 Nov 2021 21:29 by ADMIN
Release 2.30.0

I am using Dutch culture and the following issue occurs when resizing - the edit button jumps to the end and back again.

Completed
Last Updated: 29 Nov 2021 13:23 by ADMIN
Release 2.30.0
Created by: Dan Stevens
Comments: 0
Category: Grid
Type: Feature Request
6

Horizontal scroll bar is visible, but doesn't move with cursor/current-cell.

---

ADMIN EDIT

Applies also to vertical scrolling with or without row virtualization (e.g., using InCell edit mode, pressing Enter will open the next row for editing, but it will not work out with row virtualization at all after the current viewport, and without virtualization you will not see what's happening until you start typing and the browser calls .scrollIntoView() for the editor)

---

Completed
Last Updated: 24 Nov 2021 12:40 by ADMIN

I am using EF on my backend and when I group I get an error like this one:

Unhandled exception rendering component: Processing of the LINQ expression '(GroupByShaperExpression:
      KeySelector: (t.FirstName), 
      ElementSelector:(EntityShaperExpression: 
          EntityType: Customer
          ValueBufferExpression: 
              (ProjectionBindingExpression: EmptyProjectionMember)
          IsNullable: False
      )
      )' by 'RelationalProjectionBindingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. See https://go.microsoft.com/fwlink/?linkid=2101433 for more detailed information.
System.InvalidOperationException: Processing of the LINQ expression '(GroupByShaperExpression:
KeySelector: (t.FirstName), 
ElementSelector:(EntityShaperExpression: 
    EntityType: Customer
    ValueBufferExpression: 
        (ProjectionBindingExpression: EmptyProjectionMember)
    IsNullable: False
)
)' by 'RelationalProjectionBindingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. See https://go.microsoft.com/fwlink/?linkid=2101433 for more detailed information.
   at Microsoft.EntityFrameworkCore.Query.Internal.RelationalProjectionBindingExpressionVisitor.VisitExtension(Expression extensionExpression)
   at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)

 

and a lot more line through the EF Core expression classes.

-----

ADMIN EDIT

At the moment, it looks like there is an issue between EF, LINQ and GroupBy expressions that seems to be the origin of this. In a profiler, you can see that running a group expression does not even run a query against the database itself - this is the origin of the problem, and the subsequent paging operation is where an actual exception is thrown, but it points to the field that was used for grouping.

Considering that grouping has to pull all the data anyway, materializing the data from an IQueriable to an IEnumerable should solve the issue, even though it can be a performance hit - for relatively small data sets it may not be a significant problem.

    protected override void OnInitialized()
    {
        GridData = ProductService.GetProducts().ToList();
    }

 

----

Completed
Last Updated: 24 Nov 2021 07:10 by ADMIN
Release 2.30.0
Created by: Edward
Comments: 5
Category: Grid
Type: Feature Request
22

It will be useful if the grid column state contains the Field parameter if such is specified.

This will make easier mapping the ColumnState entity to the actual column.

 

----

ADMIN EDIT

While this feature is implemented, you can get the Field of ColumnState columns using the workaround shown in this article: https://docs.telerik.com/blazor-ui/components/grid/state#get-current-columns-visibility-order-field

----
Completed
Last Updated: 22 Nov 2021 16:32 by ADMIN
Release 2.30.0
Created by: Avrohom Yisroel
Comments: 0
Category: Grid
Type: Feature Request
2

I have a column in the grid that is bound to a enum. The enum value names show up fine in the grid, but when exported, I get the underlying int value, which is incomprehensible to the users.

Thanks

---

ADMIN EDIT:

As a workaround you could generate the .xlsx file yourself. I'm attaching a sample project that allows you to do that. The relevant line of code is line 125 in Index.razor

---

Unplanned
Last Updated: 18 Nov 2021 12:45 by ADMIN
When you use Virtual Scrolling you cannot control the scroll position with the Skip parameter if the data is received after initializing the GridState.