Completed
Last Updated: 02 Aug 2024 15:11 by ADMIN
Release 2024 Q3 (Aug)

Bug report

Reproduction of the problem

  1. Go to https://demos.telerik.com/aspnet-mvc/grid/paste-from-excel
  2. Inspect the Grid toolbar

Current behavior

No dropdown is rendered.

Expected/desired behavior

A dropdown is rendered (see the same demo in Kendo UI for jQuery, or UI for ASP.NET Core)

Workaround - call the Grid's setOptions method on document.ready as shown below:

<script>
    $(document).ready(function() {
        //replace 'grid' with the actual Name value of your Grid:
        $("#grid").data("kendoGrid").setOptions({
            toolbar: ["paste"]
        })  
    })
</script>

Environment

  • Kendo UI version: 2024.2.514
  • jQuery version: x.y
  • Browser: [all]
Declined
Last Updated: 04 Feb 2021 16:59 by ADMIN

When the page first loads, everything looks okay...

 

But if I show a hidden column...

 

Here's what happens...

The newly shown column is circled in blue. The problem, as you can see, is that the position of the column circled in red should actually be swapped with the column to the left of it. And column #2 (ordering from left to right in the picture, starting from #1) now has an incorrect parent header ("Average") - it should be "Total". And column #4 (the one circled in red), "Constrained", should have a parent header of "Average" (that gray one in column #2).

 

And just FYI, if I show another column (which should also be under "Session Time [minutes]")...

 

...then here's what we get...

(Newly shown column circled in blue.)

 

But, you can see that the data columns are placed correctly. Just not the headers.

Completed
Last Updated: 30 Aug 2024 11:57 by ADMIN
Release 2024 Q4 (Nov)

### Bug report

When the Grid is set up for InCell editing, and the column editor is the Upload widget, the user cannot select a file to upload when the Grid is navigatable.

The issue occurs in version >= 2024.1.130

### Reproduction of the problem

1. Create an InCell editable Grid and enable its "navigatable" option.

2. Set the Upload widget as a column editor.

3. Enter a specified cell in edit mode and try to select a file for upload.

4. The cell closes immediately.

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

### Expected/desired behavior

The cell must remain focused when the Upload button is clicked.

### Workaround

Handle the "edit" event of the Grid, handle the "mousedown" event of the Upload button, and call stopImmediatePropagation():

 

            $("#grid").kendoGrid({
                editable: true,
              	navigatable: true,
                edit: function(e) {
                   if($(e.container).find("input[type='file']")) {
                   	$(".k-upload-button").on("mousedown", function (event) {
                          event.stopImmediatePropagation();
            		});
                   }
                }
                ...
            });

 

### Environment

* **Kendo UI version: 2024.1.130
* **jQuery version: 3.7.0
* **Browser: [all]

Completed
Last Updated: 11 Jan 2021 14:31 by ADMIN
Release 2019.R2.SP1
Created by: Karim
Comments: 1
Category: Grid
Type: Feature Request
0

JWT Token authentication has become very popular and one of the main tools to provide authorization and authentication.
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. In authentication, when the user successfully logs in using their credentials, a JSON Web Token will be returned. 

Whenever the user wants to access a protected route or resource, the user agent should send the JWT, typically in the Authorization header using the Bearer schema. This can be, in certain cases, a stateless authorization mechanism. The server's protected routes will check for a valid JWT in the Authorization header, and if it's present, the user will be allowed to access protected resources. If the JWT contains the necessary data, the need to query the database for certain operations may be reduced, though this may not always be the case.

It would be really helpful to have a built in functionaly ".Authorization(token)" that adds an authorization header to all the requests made by the grid.

Unplanned
Last Updated: 09 Jun 2022 17:01 by Brandon
Created by: Brandon
Comments: 0
Category: Grid
Type: Bug Report
0

Hi Team,

Bug Report

The Kendo UI Grid's toolbar with a template is not persisted when the Grid is loaded using setOptions. 

Reproduction of the problem

With a toolbar containing a template with server tags, the toolbar content will disappear.

Expected Behavior

The Grid should retain the toolbar with the HTML contained when using setOptions.

Environment

Kendo UI version: 2022.2.510
jQuery version:
all
Browser: all

Thanks!

Declined
Last Updated: 14 Jun 2019 14:07 by ADMIN
Created by: Ray
Comments: 1
Category: Grid
Type: Feature Request
0

 

To whom it may concern,

     

       I’m one of your subscribed customers. And I’m writing to seek help in order to realize a filter display I want KendoGrid to show.

 

The following screenshot is the date filter display that KendoGrid has:

Can it be changed to the similar way as the following picture shows?

 

It is also acceptable if the filter can provide 3 different options to easily choose from for users:

  1. Before a certain date that the user can choose from a calendar just like the picture above
  2. After a certain date
  3. Between two dates
  4. In a certain date 

Thanks.

 

Best Regards,

BLACK STREAM

If KendoGrid can not realize the above requirements, can you please provide an alternative plan?
Completed
Last Updated: 27 Mar 2023 15:08 by ADMIN
Release R2.2023-Increment.2(26.Apr.2023)

Bug report

Reproduction of the problem

https://demos.telerik.com/aspnet-mvc/grid/persist-state

  1. Add a search panel to the Grid: .ToolBar(t => t.Search())
  2. Save its state and then load the saved state

Current behavior

The search panel disappears from the Grid's toolbar.

Expected/desired behavior

The search panel is present in the Grid's toolbar.

Environment

  • Kendo UI version: 2021.2.616
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 08 Feb 2023 12:02 by GORAN

Bug report

When the scrollable option is disabled, on resizing the browser window by making it more narrow, at certain point the columns stop resizing and the whole table goes out of the right border of the Grid. Reproducible with the SASS and LESS themes.

Reproduction of the problem

Dojo example: https://dojo.telerik.com/ItIrEzEY/3

  1. Either resize the right pane or use Fullscreen and resize the browser window and make it narrower.

Current behavior

The table goes out of wrapping element (.k-grid).

Expected/desired behavior

The columns resize and the table remains within the borders of the Grid.

Environment

  • Kendo UI version: 2023.1.117
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 16 Jul 2019 14:48 by ADMIN
Created by: Tech
Comments: 1
Category: Grid
Type: Feature Request
0
At the moment, it requires converting NodaTime objects into System.DateTime ones in order to be correctly handled by the control. This is suboptimal from both performance and maintainability perspectives.
In Development
Last Updated: 17 Sep 2024 07:08 by ADMIN
Scheduled for 2024 Q1

Bug report

The ClientGroupFooterTemplate and ClientFooterTemplate configuration lead to an invalid template error when strict CSP mode is enabled. There are no corresponding methods that accept a TemplateHandler.

Reproduction of the problem

@(Html.Kendo().Grid<TelerikMvcApp3.Models.OrderViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.OrderID).Filterable(false);
        columns.Bound(p => p.Freight);
        columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
        columns.Bound(p => p.ShipName);
        columns.Bound(p => p.ShipCity).ClientGroupFooterTemplate("Total:").ClientFooterTemplate("Team Total");
    })
    .Groupable()
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("Orders_Read", "Home"))
    )
)


@(Html.Kendo().DeferredScriptFile())

Current behavior

JS exceptions on initializing the Grid and on attempting to group it by ShipCity.

Expected/desired behavior

CSP compatible templates.

Environment

  • Kendo UI version: 2023.3.1114
  • jQuery version: x.y
  • Browser: [all]
Unplanned
Last Updated: 18 Aug 2022 07:39 by Thanuja

Bug report

When the Grid AutoBind() configuration is set to false, the Grid is rendering an empty cell in the row element with class .k-no-data. (Image.png)

Reproduction of the problem

Set AutoBind configuration of Telerik UI for Asp.Net MVC Grid to 'false'. The Grid is rendered correctly except for the empty row and the empty cell in the table body.

Current behavior

An empty row with one empty cell is rendered.

Expected/desired behavior

The tbody element should be empty.

Environment

  • Kendo UI version: 2022.2.621
  • Browser: [all]

Image

Completed
Last Updated: 06 Jan 2023 15:37 by ADMIN
Release R1.2023-Increment.3(18.Jan.2023)

Bug report

Reproduction of the problem

Reproducible in the demos: https://demos.telerik.com/aspnet-mvc/grid/persist-state

  1. Inspect the rendering of the "Contact Name" header in the MVC and Kendo UI for jQuery demos.

Current behavior

The difference in the rendering is shown below. In the Kendo UI Grid's Html, there is a span with class "k-cell-inner" that wraps the ".k-link" span, whereas in the MVC Grid, only an anchor is rendered.

Kendo UI:

<th scope="col" role="columnheader" data-field="ContactName" aria-haspopup="true" rowspan="1" data-title="Contact Name" aria-label="Contact Name Press ctrl + space to group" data-index="0" id="a44eadd9-62c6-4154-9735-4351a9cb5064" class="k-header k-filterable" data-role="columnsorter" style="touch-action: none;">
  <span class="k-cell-inner">
    <span class="k-link">
      <span class="k-column-title">Contact Name</span>
    </span>
    <a class="k-header-column-menu" href="#" title="Contact Name edit column settings" aria-label="Contact Name edit column settings" tabindex="-1">
      <span class="k-icon k-i-more-vertical"></span>
    </a>
  </span>
</th>

MVC:

<th class="k-header k-filterable" data-field="ContactName" data-index="0" data-title="Contact Name" id="f28afe50-210a-474d-9943-113f6bd4ad15" scope="col" data-role="columnsorter" style="touch-action: none;">
  <a class="k-link" href="/aspnet-mvc/grid/persiststate_customers_read?grid-sort=ContactName-asc">Contact Name</a>
  <a class="k-header-column-menu" href="#" title="Contact Name edit column settings" aria-label="Contact Name edit column settings" tabindex="-1">
    <span class="k-icon k-i-more-vertical"></span>
  </a>
</th>

Expected/desired behavior

Identical rendering.

Environment

  • Kendo UI version: 2022.2.802
  • jQuery version: x.y
  • Browser: [all ]
Completed
Last Updated: 05 Feb 2024 12:19 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)

Bug report

Prerequisites: reordering a non-locked column before a locked column. There could be one or more locked columns.
This behavior appeared in v2021.3.1207.

Reproduction of the problem

Dojo example: https://dojo.telerik.com/UhExAXIv/5

  1. Click, hold and slowly drag the header of the OrderDate column over the locked ID column.
  2. Attempt to reorder the OrderDate column before the ID column.

Current behavior

The reorder hint appears only when you hover the left border of the ID cell. This makes dropping the header at the right spot difficult, since you have to be very precise and if you are too fast, you have to re-adjust the mouse cursor position right on top of the left border of the cell.

Expected/desired behavior

The reorder hint should appear when mouse cursor enters the boundaries of the target cell. For example, slowly drag ShipCity before ShipCountry. Note how the reorder hint appears once you enter the boundaries of the ShipCountry cell and you don't have to drag all the way to ShipCountry's left border.

Environment

  • Kendo UI version: 2023.2.829
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 20 Jan 2021 12:07 by ADMIN
When using data attributes on a viewmodel for a grid popup editor:
1. Provide input that causes a validation error message to appear
2. Correct the error with new input, do not blur the final field
3. Click save.
4. Instead of validating the data and submitting, only validation occurs
Completed
Last Updated: 13 Jan 2020 09:20 by ADMIN
Release R1 2020
Created by: Ikbum Kim
Comments: 1
Category: Grid
Type: Bug Report
0

When I use lock column, margin is created in the right scroll of the grid. Did you know this problem?
How can I fix this problem? 

 

 

Completed
Last Updated: 23 Jun 2020 13:41 by ADMIN
Release 2020.R1.SP1

Hi, with the latest version of kendo ui on existing hundred grids when I try to filter for a column I get an error like:

This kind of grid worked perfect on previous versions.

Uncaught TypeError: Cannot read property 'length' of undefined

    at init._eachRenderedMenuItem (kendo.all.js:52792)
    at init._setMenuItemsVisibility (kendo.all.js:52747)
    at init._updateMenuItems (kendo.all.js:52742)
    at init.open (kendo.all.js:52609)
    at init.trigger (kendo.all.js:164)
    at init._triggerEvent (kendo.all.js:51935)
    at kendo.all.js:51154
_eachRenderedMenuItem @ kendo.all.js:52792
_setMenuItemsVisibility @ kendo.all.js:52747
_updateMenuItems @ kendo.all.js:52742
open @ kendo.all.js:52609
trigger @ kendo.all.js:164
_triggerEvent @ kendo.all.js:51935
(anonymous) @ kendo.all.js:51154
setTimeout (async)
(anonymous) @ kendo.all.js:51143
each @ jquery-3.4.1.min.js:2
each @ jquery-3.4.1.min.js:2
open @ kendo.all.js:51140
_mouseenter @ kendo.all.js:51465
i @ jquery-3.4.1.min.js:2
handle @ jquery-3.4.1.min.js:2
dispatch @ jquery-3.4.1.min.js:2
v.handle @ jquery-3.4.1.min.js:2

 

 

@(Html.Kendo().Grid<Contract>()
                  .Name(GridId)
                  .DataSource(dataSource => dataSource
                      .Ajax() // Specify that ajax binding is used
                      .PageSize(80)
                      .Events(events => events.Error("common.gridErrorHandler").RequestStart("waitWindow.show").RequestEnd("waitWindow.hide"))
                      .Model(model => model.Id(al => al.ContractId))
                      .Read(read => read.Action("ContractsRead", "Contracts"))
                  )
                  .Events(events => events.Change("onRowClick").DataBound("common.onDataBound"))
                  .ToolBar(toolbar =>
                  {
                      toolbar.Template(@<text>
                          <div style="display: inline-block;">Select a service to manage Cost per Office</div>
                    </text>);
                        })
                              .Columns(columns =>
                              {
                                  columns.Bound(p => p.ContractId).Width(45).Title("Reference #").Hidden(true);
                                  columns.Bound(p => p.Name).Title("Service").Width(100);
                                  columns.Bound(p => p.ExpirationDate).Width(60).Format(RequestHelper.GetDateTimeFormat(Request));
                                  columns.Bound(p => p.BillingCycle.Name).Width(53);
                                  columns.Bound(p => p.Value).Title("Amount").Width(75).Format("$ {0:n5}").HeaderHtmlAttributes(new { style = "text-align: right;" }).HtmlAttributes(new { style = "text-align: right;font-weight: bold;" });
                              })
                              .NoRecords(PageResources.lblGridNoRecords)
                              .Filterable()
                              .Selectable(s => s.Mode(GridSelectionMode.Single))
                              .Scrollable(s => s.Virtual(true).Height("100%"))
                              .Sortable() // Enable sorting
                              .Resizable(resize => resize.Columns(false))
                              .ColumnMenu(p => p.Columns(false)))

 

 

Thank you,

Ion Petcu

Completed
Last Updated: 14 Sep 2020 08:10 by ADMIN
Release 2020.R3

Bug report

The responsive pager of the grid is shown when the width of the window is a few pixels above 1024 but less than 1035.

Reproduction of the problem

Dojo sample for reproduction:

https://dojo.telerik.com/oNejEYOz

1. Resize the browser to be around 1025 pixels. Just after showing the full pager, refresh the page.

2. The responsive pager is shown.

Expected/desired behavior

The full pager should be shown.

Environment

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

 

 


Completed
Last Updated: 28 Aug 2023 10:28 by ADMIN
Created by: Nina
Comments: 0
Category: Grid
Type: Bug Report
0

Bug report

Not reproducible with the UI for ASP.NET Core Grid helper.

Reproduction of the problem

  1. Set the Total option of the DataSource in a Grid:
.DataSource(dataSource => dataSource
    .Ajax()
    .PageSize(15)
    .Read(read => read.Action("Orders_Read", "Grid"))
    .Total(50)
)
  1. Compare the rendering of the pager "next page" and "last page" buttons with the Total option set and without it.

Current behavior

The "next page" and "last page" buttons in the Grid's pager are rendered as anchor Html elements, when Total is set in the DataSource. When it is not set, the buttons are rendered as button Html elements.

Expected/desired behavior

The rendering of the pager buttons should be consistent and they should render as button Html elements.

Environment

  • Kendo UI version: 2023.1.425
  • jQuery version: x.y
  • Browser: [all]
Completed
Last Updated: 01 Nov 2024 08:00 by ADMIN

Bug report

The attributes handler overload does not get executed when the column is initially marked as hidden.

Reproduction of the problem

  1. Open the following dojo.
  2. Change the hidden property of the ContactTitle field to true.

Current behavior

The attributes handler is not executed when the column is hidden.

Expected/desired behavior

The attributes handler should be executed when the column is hidden.

Environment

  • Kendo UI version: 2023.1.425
  • Browser: [all]
Completed
Last Updated: 11 Jan 2021 14:34 by ADMIN

Good Day,


I have a custom CSS CLASS that renders the background-color of the grids TABLE ROW to 'yellow'.  

  • tr.background-color-yellow td { background-color: #FFFFCC; }

For example...the above CSS CLASS would 'color' the backgrounds of a TR's set of TD's.

<!-- Here is an example of the initial HTML containing the custom CSS CLASS  -->
<tr data-uid="7044a8d8-2946-43f4-9f94-01bff52d2800" role="row" class="background-color-yellow">
<td role="gridcell">11</td> <td role="gridcell">1111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td class="k-command-cell" role="gridcell"> <a role="button" class="k-button k-button-icontext k-grid-edit" href="#"> <span class="k-icon k-i-edit"></span>Edit </a> <a role="button" class="k-button k-button-icontext k-grid-delete" href="#"> <span class="k-icon k-i-close"></span>Delete </a> </td> </tr>

THE ISSUE
When using inline-editing on the grid...pressing the CANCEL button wipes-out & replaces any-and-all custom CSS tags in the TR.

<!-- Here is an example of the initial HTML AFTER PRESSING CANCEL...notice the custom CSS CLASS is gone -->
<tr data-uid="7044a8d8-2946-43f4-9f94-01bff52d2800" role="row">
<td role="gridcell">11</td> <td role="gridcell">1111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td role="gridcell">111</td> <td class="k-command-cell" role="gridcell"> <a role="button" class="k-button k-button-icontext k-grid-edit" href="#"> <span class="k-icon k-i-edit"></span>Edit </a> <a role="button" class="k-button k-button-icontext k-grid-delete" href="#"> <span class="k-icon k-i-close"></span>Delete </a> </td> </tr>

THE WORK AROUND
This bug causes the following kinds of work-around...which I feel is unacceptable.

this.on = {
	cancel: {
		grid: function (e) {

			var isTemplatedRow = e.model.IsTemplatedRow;
			if (isTemplatedRow === false) {

				// HACK: Kendo overwrites the (tr) rows ENTIRE SET of CSS CLASSES after a 'cancel' is triggered
				var uid = e.container.data().uid;
				var $context = $(e.container.context);
				setTimeout(function () {

					// Add the expected class back-in
					var $ele = $('tr[data-uid=' + uid + ']', $context)
					$ele.addClass('background-color-yellow');
				}, 400);
			}
		}
	}
};