Completed
Last Updated: 30 Dec 2021 18:23 by ADMIN
Release 2.24.0
Created by: Wei
Comments: 6
Category: Grid
Type: Feature Request
37
there is a feature we want to implement in grid for a row to be dragged and dropped onto another row. is this something we can do with blazor grid?

drag one row or multiple row over another row and have the drop event exposed so we can handle it?
Unplanned
Last Updated: 28 Dec 2021 15:37 by Nemo
Created by: Nemo
Comments: 11
Category: Grid
Type: Feature Request
3

Hi, please expose the debounce delay as a property of TelerikGrid so we can set how soon virtualized columns are loaded after the user scrolls.

**Admin Edit**

This feature request requires research, and if such DebounceDelay parameter can work with good quality in all cases - it will be implemented. Additionally, we will revise the feature together with loading next set of columns if it will be applicable.

**Admin Edit**

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
1
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)

---

Unplanned
Last Updated: 29 Nov 2021 12:05 by ADMIN

Here is the problem or bug I would like you to look at: If the percent entry component that is in the test application is not in an EditorTemplate, then the OnFocusOut event will fire in Firefox when the Tab or Enter keys is pressed. When the component is within an EditorTemplate, the OnFocusOut event does not fire in Firefox for the Tab/Enter key. This leads me to believe that it is a bug in the Grid and Treelist that is blocking that event from firing in Firefox.

Steps to reproduce:

  1. Run the attached project in Firefox.
  2. Change one value in percent and press Tab
  3. Open the same page in Chrome and repeat

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

There is one way you can use here to avoid manipulating the onfocusout event to handle percentage input. You can create in your model two properties/values. One value for visualization, with a custom format to represent percentage. Another value to pass along to the business logic, that has the actual fraction. You can see a reference to the described approach in this REPL link.

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

 

----