Unplanned
Last Updated: 05 Oct 2023 10:21 by Peter
Created by: Peter
Comments: 0
Category: Grid
Type: Feature Request
1

Currently, if I call Grid.AutoFitAllColumnsAsync "too early" it throws a null reference exception.

I am aware that this is a limitation but the behavior can be improved. For example, handle the exception and provide some useful information or give me a programmatic way to know if it's too early to call autofit.

 

Unplanned
Last Updated: 04 Oct 2023 13:27 by Mattia

I have a Grid with TItem="Dictionary<string, object>". I am not able to programmatically set EditItem and EditField through state.

I tried saving the state while editing to ensure the EditItem and EditField will be properly stored. When I try to retrieve this state object afterwards nothing happens.

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

Completed
Last Updated: 29 Sep 2023 06:42 by ADMIN
Release 4.6.0 (11 Oct 2023) (R3 2023)

Hello,

in some cases there is no way to scroll grid using mousewheel. Try this REPL please - https://blazorrepl.telerik.com/GdkXuLuX10P8sOF040. Scroll down, focus any cell in the last row and try to scroll up using your mouse wheel again.  Grid always scrolls back to the last row.

Can you check that please?

Very thanks.

Miroslav

Completed
Last Updated: 27 Sep 2023 14:44 by ADMIN
Release 4.6.0 (11 Oct 2023) (R3 2023)

Using the following configuration does not produce the expected result:

 

 <GridSettings>
        <GridPopupEditFormSettings ButtonsLayout="FormButtonsLayout.Center"/>
 </GridSettings>

 

The button layout is always left no matter what you choose.

===

ADMIN EDIT

===

Possible workarounds for the time being are to position the buttons with CSS or use a Popup Buttons Template.

Unplanned
Last Updated: 27 Sep 2023 11:53 by Patrick
Description

When you click on a cell which has an Editor Template with a NumericTextBox the text inside does not always get selected/highlighted. This is observed only in Server type applications. 

Reproduction

1. Copy the code from this REPL into a Server side project or directly download the attached Sample Project.
3. Tab in and out of the Count column.
4. The NumericTextBox does not always select the number inside.
5. [Video Example](https://screenpal.com/watch/c0QtXtV5iMR) 

Current

The NumericTextBox does not always select/highlight the number inside

Expected

The NumericTextBox always select/highlight the number inside
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: 22 Sep 2023 11:08 by ADMIN
Created by: Sebastian
Comments: 1
Category: Grid
Type: Bug Report
0
When grid is grouped by one column and LoadGroupsOnDemand is set to true clicking 2nd group before the first one is finished loading results in an exception. It can be reproduced here: Telerik REPL for Blazor - The best place to play, experiment, share & learn using Blazor. (group only by single column).
Duplicated
Last Updated: 15 Sep 2023 10:52 by ADMIN
Created by: Adrian
Comments: 2
Category: Grid
Type: Bug Report
0
 

**Description**:
I've encountered an issue with the Telerik Grid component in Blazor where caching the grid state, specifically the filtering state, leads to a casting exception upon reloading the page.

**Steps to Reproduce**:
1. Set up a Telerik Grid with a nullable enum column (e.g., `LeadStatuses? Status`).
2. Apply a filter to the `Status` column.
3. Save the grid state (including the filter state) to cache.
4. Refresh the browser.
5. Load the grid state from cache and apply it to the grid.

**Expected Behavior**:
The grid should load with the previously applied filter without any issues.

**Actual Behavior**:
A casting exception occurs, specifically: "Specified cast is not valid."

**Additional Information**:
- The issue seems to be related to filtering and saving state to the grid. When the column is removed, the error doesn't occur.
- Clearing the filter from the cached state for gid will work.
- The exact error message is: 
```
Unhandled exception rendering component: Specified cast is not valid.
 
Unplanned
Last Updated: 12 Sep 2023 12:27 by ADMIN

Hi

The reset button is not working when we use the column template with the Telerik grid. How to solve this problem? Can you please send it example for reference?

Example Link :

Working Without Column Template

=>https://demos.telerik.com/blazor-ui/grid/column-menu

Not Working With Column Template

=>https://demos.telerik.com/blazor-ui/grid/custom-column-menu

Thanks

 

Unplanned
Last Updated: 11 Sep 2023 14:58 by ADMIN

When initial grouping is set through the state, the GroupFooterTemplate does not render. One has to perform some action for refreshing the Grid in order to display the template - for example, collapsing/expanding a group.

For reference, the GroupHeaderTemplate renders correctly.

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

===

ADMIN EDIT

===

The GroupFooterTemplate renders with a delay after the Grid. A possible workaround for the time being is to refresh the Grid after it has been initialized to ensure the GroupFooterTemplate will be displayed.

Example: https://blazorrepl.telerik.com/mxkJvAbI17SoNaE148

Unplanned
Last Updated: 11 Sep 2023 11:13 by Reto
Created by: Reto
Comments: 0
Category: Grid
Type: Feature Request
2
Add an event that fires after the drag starts and before it ends. 
Completed
Last Updated: 06 Sep 2023 14:41 by RINGER
Release 2.17.0
Created by: James
Comments: 9
Category: Grid
Type: Feature Request
19
Hi there, we have 2 applications we are currently building. We would like to know, if you guys know, when will the column chooser for the TelerikGrid be released? 
Unplanned
Last Updated: 04 Sep 2023 08:44 by ADMIN

When the Virtualization feature is enabled, triggering Incell edit causes the Grid to scroll. When we scroll the edit is canceled. This happens when the row is partially visible.
https://www.screencast.com/t/zCJ9z9P83c

A more specific case is when you try to edit the last row. In case the editor height is bigger than the row height the Grid tries to scroll but there is no more data. The editor is closed and the item cannot be edited.
https://www.screencast.com/t/331cT4xxt

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

 

Unplanned
Last Updated: 01 Sep 2023 06:54 by ADMIN

App just crashed with the below exception.  My code isn't in the stack trace. Chances are there is no proper validation on parameters, allowing me to supply bad data, which later causes this problem.  Please validate the data better, debugging these things is not easy.

Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware: Error: An unhandled exception has occurred while executing the request.

System.ArgumentNullException: Value cannot be null. (Parameter 'source')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Telerik.Blazor.Components.TelerikGrid`1.SetProcessedData(IEnumerable data)
   at Telerik.Blazor.Components.Common.DataBoundComponent`1.ProcessDataSourceResult(DataSourceResult result)
   at Telerik.Blazor.Components.Common.GridBase`1.ProcessDataSourceResult(DataSourceResult result)
   at Telerik.Blazor.Components.Common.DataBoundComponent`1.ProcessDataInternal()
   at Telerik.Blazor.Components.TelerikGrid`1.ProcessDataInternal()
   at Telerik.Blazor.Components.Common.DataBoundComponent`1.OnParametersSetAsync()
   at Telerik.Blazor.Components.TelerikGrid`1.OnParametersSetAsync()
   at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterView parameters)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewComponentFrame(DiffContext& diffContext, Int32 frameIndex)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewSubtree(DiffContext& diffContext, Int32 frameIndex)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext, Int32 newFrameIndex)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext, Int32 oldStartIndex, Int32 oldEndIndexExcl, Int32 newStartIndex, Int32 newEndIndexExcl)
   at Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer renderer, RenderBatchBuilder batchBuilder, Int32 componentId, ArrayRange`1 oldTree, ArrayRange`1 newTree)
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.AddToRenderQueue(Int32 componentId, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Components.ComponentBase.StateHasChanged()
   at Microsoft.AspNetCore.Components.ComponentBase.CallOnParametersSetAsync()
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterView parameters)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderRootComponentAsync(Int32 componentId, ParameterView initialParameters)
   at Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.RenderComponentAsync(Type componentType, ParameterView initialParameters)
   at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.<>c__11`1.<<InvokeAsync>b__11_0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.ViewFeatures.StaticComponentRenderer.PrerenderComponentAsync(ParameterView parameters, HttpContext httpContext, Type componentType)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ComponentRenderer.PrerenderedServerComponentAsync(HttpContext context, ServerComponentInvocationSequence invocationId, Type type, ParameterView parametersCollection)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ComponentRenderer.RenderComponentAsync(ViewContext viewContext, Type componentType, RenderMode renderMode, Object parameters)
   at Microsoft.AspNetCore.Mvc.TagHelpers.ComponentTagHelper.ProcessAsync(TagHelperContext context, TagHelperOutput output)
   at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner.<RunAsync>g__Awaited|0_0(Task task, TagHelperExecutionContext executionContext, Int32 i, Int32 count)
   at EnrichmentEngine.Pages.Pages__Host.<ExecuteAsync>b__15_1() in C:\Users\PeterDrier\source\repos\fleet\src\sovereign\dotnet\services\studio-calc-engine\SummaReportsPoc\Pages\_Host.cshtml:line 25
   at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext.SetOutputContentAsync()
   at EnrichmentEngine.Pages.Pages__Host.ExecuteAsync() in C:\Users\PeterDrier\source\repos\fleet\src\sovereign\dotnet\services\studio-calc-engine\SummaReportsPoc\Pages\_Host.cshtml:line 7
   at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
   at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts)
   at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultAsync>g__Logged|22_0(ResourceInvoker invoker, IActionResult result)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|8_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

Unplanned
Last Updated: 24 Aug 2023 13:50 by ADMIN

 

Hello,

The issue can be reproduced in a Grid with column virtualization enabled and Navigable set to true. Please run this REPL snippet https://blazorrepl.telerik.com/QHusmyOJ027Rp5Ok38, click on any column, the appropriate row will be selected and the corresponding table cell will be focused. Try to navigate to the right by using Right cursor key - you will not be able to navigate through the whole table, values in last columns will not be displayed and the grid seems think they are in the same cell with User Number in my particular case. When you use Left cursor key and then the Right one again you will not be able to see even these columns headers.

I attached a small video to better demonstarte the issue on my particular machine.

Very thanks.

Miroslav

 

Completed
Last Updated: 22 Aug 2023 09:10 by ADMIN
Release 4.5.0 (08/30/2023) (R3 PI2)

By the following steps, the problem occurs:

  1. Click on line number 1 to focus the row
  2. Press the Down-Key 19 times to navigate to line 20
  3. Try to navigate to line 21 via the Down-Key
  4. -> No navigation possible via keyboard to the lines below
  5. Try to navigate backwards via Up-Key to line 1
  6. -> Navigation stops at line 15


So, it not possible to navigate through the whole grid with virtualized rows when Navigable=true





@* Scroll the grid instead of paging *@

<TelerikGrid Data=@GridData
             ScrollMode="@GridScrollMode.Virtual" Navigable="true"
             Height="480px" RowHeight="60" PageSize="20"
             Sortable="true" FilterMode="@GridFilterMode.FilterMenu">
    <GridColumns>
        <GridColumn Field="Id" />
        <GridColumn Field="Name" Title="First Name" />
        <GridColumn Field="LastName" Title="Last Name" />
        <GridColumn Field="HireData" Width="200px">
            <Template>
                @((context as SampleData).HireDate.ToString("MMMM dd, yyyy"))
            </Template>
        </GridColumn>
    </GridColumns>
</TelerikGrid>

@code {
    public List<SampleData> GridData { get; set; }

    protected override async Task OnInitializedAsync()
    {
        GridData = await GetData();
    }

    private async Task<List<SampleData>> GetData()
    {
        return Enumerable.Range(1, 1000).Select(x => new SampleData
        {
            Id = x,
            Name = $"name {x}",
            LastName = $"Surname {x}",
            HireDate = DateTime.Now.Date.AddDays(-x)
        }).ToList();
    }

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

  
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.
Unplanned
Last Updated: 18 Aug 2023 15:43 by Greg
I would like to be able to use complex models (such as those generated from CSLA.NET) for the Grid. 
Completed
Last Updated: 17 Aug 2023 19:34 by Andy
Release 2.25.0

I want to be able to use interfaces and models that are created from a service when working with the grid. A parameterless constructor is not enough for me, I need to be able to instantiate models in a more complex manner.

---

ADMIN EDIT

The tentative event name I have put in the title might vary when the implementation is researched. The goal would still be the same - the grid to provide an event when it needs an instance of the model so you can provide it with one. At the moment this happens when a row enters edit mode, when the filter list needs to be built, and when you are inserting an item (a caveat with the last one might be the OnClick event for the command button - the new event might have to fire before OnClick so it can give you the model).

---

Completed
Last Updated: 15 Aug 2023 14:10 by ADMIN
Release 4.5.0 (08/30/2023) (R3 PI2)

When the Grid has a non-grouped column at first position, there is a missing left border in an adjacent cell on the second line of the header area.

First reported in:

https://www.telerik.com/forums/multi-column-line-in-grid-occasionally-missing

Possible workarounds:

  • Move the non-grouped column to another position.
  • Wrap the non-grouped column in its own group.

Test page to reproduce:

(Uncomment the group column to use the second workaround from above.)

<TelerikGrid Data="@Data">
    <GridColumns>
        @*<GridColumn Title="Title">
        <Columns>*@
            <GridColumn Field="ID" />
        @*</Columns>
        </GridColumn>*@
        <GridColumn Title="Group">
            <Columns>
                <GridColumn Field="Name" />
            </Columns>
        </GridColumn>
    </GridColumns>
</TelerikGrid>

@code {

    public List<GridItem> Data { get; set; } = new List<GridItem>() {
        new GridItem() { ID = 1, Name = "Name 1" }
    };

    public class GridItem
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }
}