Unplanned
Last Updated: 27 Feb 2024 15:38 by Andreas

Bug report

In a .NET 7 project when TagHelper Grid is configured and RuntimeCompilation is employed, starting from version 2023.2.606 an unhandled exception is thrown.
image

Reproduction of the problem

  1. Create a .NET 7 project
  2. Enable RuntimeCompilation
  3. Install a 2023.3.606 or later version of Telerik UI for ASP.NET Core
  4. Configure a TagHelper Grid

Current behavior

When run a runtime error occurs

Expected/desired behavior

TagHelper Grid should exhibit the same behavior as HtmlHelper ones.

Environment

  • Kendo UI version: 2024.1.130
  • Browser: [all]
Completed
Last Updated: 23 Feb 2024 18:07 by ADMIN
Release 2024 Q2
Created by: Ion
Comments: 2
Category: Grid
Type: Bug Report
1

Bug report

Regression introduced with 2024.1.130. Likely related to: #7650

Workaround: remove "px" from the width values, e.g.,

width: "80"

Reproduction of the problem

  1. Run this dojo: https://dojo.telerik.com/ulOPUJEW/2
  2. Compare the behavior of the Grid with R3 2023 SP1: https://dojo.telerik.com/alahAneG/3

Current behavior

The columns ignore their width setting and each column has 1/3 of the Grid's width.

Expected/desired behavior

The columns widths are proportionate to the specified width values (as in R3 2023 SP1).

Environment

  • Kendo UI version: 2024.1.130
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 23 Feb 2024 17:21 by ADMIN
Release 2024 Q2
Created by: Rick
Comments: 2
Category: Grid
Type: Bug Report
1

Bug report

When the GroupPaging configuration is present the exported Grid doesn't have any data.

Reproduction of the problem

  1. Run this REPL
  2. Export the Grid

Current behavior

The exported Excel only contains headers and footers

Expected/desired behavior

The whole content of the Grid must be exported.

Environment

  • Kendo UI version: 2023.3.1114
  • Browser: [all]
Completed
Last Updated: 20 Feb 2024 11:52 by ADMIN
Release 2024 Q2

Bug report

CheckBox is not serialized correctly when declared in the Template component.

Reproduction of the problem

  1. Open the following Telerik REPL.
  2. Notice that the CheckBox component declared in the Template for the Discontinued field is not serialized correctly.

Current behavior

The CheckBox is not serialized correctly when declared in the Template component.

Expected/desired behavior

The CheckBox should be serialized correctly when declared in the Template component.

Environment

  • Kendo UI version: 2024.1.130
  • Browser: [all]
Completed
Last Updated: 13 Feb 2024 08:29 by ADMIN
Created by: Paul
Comments: 0
Category: Grid
Type: Bug Report
1

Bug report

When the Grid's PopUp Editing is enabled on mobile devices there are additional inputs or missing styling in the PopUp.

Reproduction of the problem

  1. Open the Grid's Adaptive Rendering Demo
  2. Scan it with your mobile device and open the Demo on it
  3. Click the 'Add new record' or 'Edit'

Note: The issue doesn't reproduce in a browser's DevTools on desktop

Current behavior

The PopUp is misaligned or its styles are missing on mobile devices

Environment

  • Kendo UI version: 2022.3.913
  • Browser: [ Mobile Chrome | Android Web Browser | iOS Safari ]
Unplanned
Last Updated: 09 Feb 2024 16:26 by Kyle
Created by: Kyle
Comments: 0
Category: Grid
Type: Feature Request
5

Please ensure that FilterableMessageBuilder configurations are applied to the Filter's menu when it is placed within a ColumnMenu or expose configurations to control the messages of the Filter menu within the GridColumnMenuMessagesBuilder.

Here is an example REPL that showcases the configuration doesn't have effect

  .Filterable(f => f.Messages(m =>
    {
        m.And("Custom And");
        m.Or("Custom Or");
    }))

unless ColumnMenu() is commented out.

Unplanned
Last Updated: 06 Feb 2024 09:27 by Bryan Patrick
Created by: Bryan Patrick
Comments: 0
Category: Grid
Type: Bug Report
1

Bug report

Expose additional API configurations for the Grid's ToolBar

Reproduction of the problem

As of recent releases, the Kendo UI Grid Toolbar has been substituted with the Kendo UI Toolbar. This change allows users to add the majority ToolBar.items API options apart from the built-in tools.

As noted within the Kendo UI for jQuery API documentation for the Grid's Toolbar:

"Apart from the built-in tools, the Grid fully exposes the ToolBar.items API. This way you can specify any custom tools in the widget using the components available in the ToolBar itself."

Current behavior

The inherited ToolBar.items API options are not available for the server-side Telerik UI Grid for ASP.NET Core and MVC wrappers as well.

Expected/desired behavior

It would be beneficial to the customers if the inherited ToolBar.items API options are available for the server-side Telerik UI Grid for ASP.NET Core and MVC wrappers as well.

Environment

  • Kendo UI version: 2024.1.130
  • Browser: [all]
Completed
Last Updated: 05 Feb 2024 12:05 by ADMIN
Created by: William
Comments: 5
Category: Grid
Type: Feature Request
19

I'm currently evaluating the ASP .Net Core Components and whilst I'm liking it so far, I have to say - the documentation leaves a lot to be desired.

At the moment, I am trying to use grid and looking at documentation, I have no idea if I am meant to be looking in Kendo.Mvc.UI.Fluent or Kendo.Mvc.UI - and when I am there and find an item, there just isn't enough detail. In addition, the demos section appears to actually be more helpful and I'm constantly looking there.

What caused me to write this is that I have simply enabled GridFilterMode.Row on an instance and whilst I like it, I want to change the default from "Is Equal To" to "Contains"... I have been experimenting for the past few hours without any luck and I'm going round in circles on documentation:

I can see that Filterable requires GridFilterMode, but the documentation is lacking - https://docs.telerik.com/aspnet-core/api/Kendo.Mvc.UI/GridFilterMode#kendomvcuigridfiltermode

I then try to find the filterable modes documentation, but, half the features/methods just don't seem to have any affect whatsoever.

Personally, I'm having great luck learning about your components from the demo section and adapting the code to suite my needs - but, if there isn't a demo, it appears to be a very hard task to learn what is and isn't possible.

Unplanned
Last Updated: 31 Jan 2024 15:08 by Mark
Created by: Mark
Comments: 0
Category: Grid
Type: Feature Request
2

It would be beneficial if the Grid exposes a built-in option for explicitly setting an arrow indicator for selected rows similar to the following:

Completed
Last Updated: 18 Jan 2024 12:57 by ADMIN
Release 2024 Q1

Bug report

There is an edge case in the Pager's responsive configuration. If the width is between 480 and 600 pixels both the DropDownList and Buttons that allow the user to navigate through the pages are hidden.

Reproduction of the problem

  1. Open this Dojo
  2. Resize the right pane to be between 480px and 600px
  3. Run the Dojo

Current behavior

The buttons and dropdown are missing
image

Expected/desired behavior

The Pager should display a DropDownList for page selection when it is wide between 480 and 600px.

Environment

  • Kendo UI version: 2023.1.114
  • Browser: [all]
Completed
Last Updated: 18 Jan 2024 10:15 by ADMIN
Release 2024 Q1

Bug report

Grid throws an error when the Filterable Column Messages TagHelper is set.

Reproduction of the problem

  • Open the following Telerik REPL example.
  • Set the child <messages /> in a column's <filterable></filterable> TagHelper.
  • Notice the observed error.

Current behavior

Setting the Messages TagHelper produces the following compilation error:

The tag is not allowed by parent tag helper. Only child tags with name(s) 'cell, operators, datasource' are allowed.

Expected/desired behavior

Setting the Messages TagHelper should not produce the following compilation error.

Environment

  • Kendo UI version: 2023.3.1114
  • Browser: [all]
Completed
Last Updated: 18 Jan 2024 07:56 by ADMIN
Release 2024 Q1

Bug report

Group Paging is not working as expected when the Kendo UI Grid is populated from data deserialized from a file and multiple groups are defined.

Reproduction of the problem

Using the UI for ASP.NET Core Grid, populate it with a file, set GroupPaging to true, add more than one group, and set the default serialization:

 

builder.Services.AddControllersWithViews()
            .AddJsonOptions(options =>
                options.JsonSerializerOptions.PropertyNamingPolicy = null);
@(Html.Kendo().Grid<MyViewModel>()
        .Name("grid")
        .Groupable()
        .Scrollable(s=>s.Virtual(true))
        .DataSource(dataSource=>dataSource
            .Ajax() 
            .GroupPaging(true)
            .PageSize(50)
            .Read("ReadFromFile", "HomeController")
            .Group(x=>
            {
               x.Add(y=>y.Group1);
               x.Add(y=>y.Group2);
            })      
        )
        //...)

Current behavior

With multiple groups, the follow error message will appear:

System.ArgumentNullException: Value cannot be null. (Parameter 'source')
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at Kendo.Mvc.Infrastructure.Group.InitializeSubgroups()
   at SubgroupsGetter(Object )
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWriteAsObject(Utf8JsonWriter writer, Object value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.Converters.IEnumerableConverter`1.OnWriteResume(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryWrite(Utf8JsonWriter writer, TCollection value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.WriteCore(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.Serialization.JsonConverter`1.WriteCoreAsObject(Utf8JsonWriter writer, Object value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.JsonSerializer.WriteCore[TValue](JsonConverter jsonConverter, Utf8JsonWriter writer, TValue& value, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.JsonSerializer.WriteStreamAsync[TValue](Stream utf8Json, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken)
   at System.Text.Json.JsonSerializer.WriteStreamAsync[TValue](Stream utf8Json, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken)
   at System.Text.Json.JsonSerializer.WriteStreamAsync[TValue](Stream utf8Json, TValue value, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Mvc.Infrastructure.SystemTextJsonResultExecutor.ExecuteAsync(ActionContext context, JsonResult 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.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Expected/desired behavior

Server GroupPaging should work as expected with multiple groups and the default serialization that is delivered with ASP.NET Core. An example would be this live demo.

Workaround

Use the Newtonsoft library to set the serialization options for the application:

builder.Services.AddControllersWithViews()
  .AddNewtonsoftJson(options => options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver());

 

Environment

  • Kendo UI version: 2023.2.606
  • jQuery version: All Supported Versions
  • Browser: all
Unplanned
Last Updated: 09 Jan 2024 07:01 by Sreeju
Created by: Sreeju
Comments: 0
Category: Grid
Type: Feature Request
1
Add a built-in API configuration for the Edit command similar to how you can set the ToolBar.Create() API.
Completed
Last Updated: 05 Dec 2023 07:30 by ADMIN
Release R1.2024-Increment.2(31.Jan.2024)

Bug report

The DataSource's property groupPaging: true prevents the Grid's group from expanding if it has a defined groupHeaderColumnTemplate.

Reproduction of the problem

  1. Open this Dojo
  2. Try to expand the Grid's groups

Also reproducible in the Core wrapper where an error is thrown: kendo.all.js:8743 Uncaught TypeError: Cannot read property 'hasSubgroups' of undefined

Current behavior

groupPaging is not compatible with the groupHeaderColumnTemplate

Expected/desired behavior

groupPaging and the groupHeaderColumnTemplate should be compatible

Environment

  • Kendo UI version: 2021.2.616

  • Browser: [all]

Completed
Last Updated: 01 Dec 2023 11:58 by ADMIN

### Bug report

When the pageSizes option is enabled, it is not displayed when the Grid is initialized inside a hidden container.

### Reproduction of the problem

1) Follow the instructions in this KB article to display a Grid inside a TabStrip component.

2) Enable the "pageSizes" setting.

3) The drop-down, which allows the user to change the page size is always hidden.

A Dojo sample for reproduction: https://dojo.telerik.com/uCORUHUc

The same example works correctly with version 2023.2.718.

### Expected/desired behavior

The pager must display the specified page sizes.

### Workaround

tabstrip.one("activate", function() {
  grid.pager._lastWidth = 30;
  grid.resize(true);
});

### Environment

* **Kendo UI version: 2023.2.829
* **jQuery version: 1.12.4
* **Browser: [all]

Completed
Last Updated: 23 Nov 2023 11:33 by ADMIN
Release R1.2024-Increment.2(31.Jan.2024)

Bug report

When tabbing in a batch editable Grid cells do not enter edit mode.
This is a regression introduced with v 2023.2.606.

Reproduction of the problem

  1. Run this dojo
  2. Click on a cell in Product Name column - an editor is generated
  3. Press the Tab key

Current behavior

The corresponding Unit Price is focused, but an editor is not generated

Expected/desired behavior

The cell should enter edit mode, as with v2023.1.425 - dojo

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Completed
Last Updated: 30 Oct 2023 08:57 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)
Created by: Dan Mortimer
Comments: 0
Category: Grid
Type: Feature Request
1
In Telerik UI for ASP.NET MVC you could put Grid options in the query string of the page with the grid name as a prefix and those would be automatically applied to the correct grid. This is achieved via the PrefixUrlParameters configuration, though it is missing for the ASP.NET Core Grid.
Unplanned
Last Updated: 25 Oct 2023 14:52 by Phillip
Created by: Phillip
Comments: 0
Category: Grid
Type: Feature Request
3

Is it possible to add an "attributes" option to the editable.window configuration that allows the addition of HTML attributes to the window?

For example:

//HtmlHelper Grid
@(Html.Kendo().Grid<OrderViewModel>()
     .Name("grid")
      ...
     .Editable(editable => editable.Mode(GridEditMode.PopUp).Window(wnd => wnd.HtmlAttributes(new { @class= "my-custom-window" })))
)

//Kendo UI for jQuery Grid
  $("#grid").kendoGrid({
    ...
    editable: {
      mode: "popup",
      window: {
        attributes: {
          "class": "my-custom-window"
        }
      }
    }
  });

Unplanned
Last Updated: 25 Oct 2023 12:10 by Duffy
Created by: Duffy
Comments: 0
Category: Grid
Type: Feature Request
1

Is it possible to implement binding of TimeSpan property to TimeDurationPicker editor?

For example:

@model TimeSpan?

@(Html.Kendo().TimeDurationPickerFor(m => m))

Completed
Last Updated: 24 Oct 2023 14:28 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)

Bug report

Grid Filterable Button Title Message is not correctly serialized.

Reproduction of the problem

  • Set the Filterable.Messages.ButtonTitle() API Configuration as follows:

          @(Html.Kendo().Grid<OrderViewModel>()
                .Name("grid")
                .Columns(columns =>
                {
                    columns.Bound(p => p.OrderID).Filterable(false);
                    columns.Bound(p => p.Freight);  
                })
                .Filterable(f => f.Messages(m => m.ButtonTitle("Filter")))
          )
    
  • Hover the Filter Button Icon and notice that the buttonTitle message is applied instead.

image

Current behavior

The Filter ButtonTitle message shows its default message.

Expected/desired behavior

The Filter ButtonTitle should show the custom-provided message.

Environment

  • Kendo UI version: 2023.3.1010
  • jQuery version: x.y
  • Browser: [all]
1 2 3 4 5 6