Completed
Last Updated: 04 Jun 2024 06:12 by ADMIN
Release 2024 Q1

Bug report

When the scrollable option of the Grid is set to "virtual: 'columns'", the reordering of the columns cannot be performed while dragging over the field headers.

Regression introduced with 2022.3.913

Reproduction of the problem

  1. Open the Dojo example - https://dojo.telerik.com/AMeHorIC/3
  2. Try to reorder the columns while dragging over the field headers.

Current behavior

The columns cannot be reordered from the field headers. Instead, the field headers are flickering.
Screen recording - https://screenpal.com/watch/c0jrQ2Vpr8e
If the reordering is performed below the headers, it works properly.

Expected/desired behavior

Should be able to reorder the columns from the field headers without flickering.

Environment

  • Kendo UI version: 2023.2.718
  • Browser: [all]
Completed
Last Updated: 19 Oct 2023 13:23 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)

Bug report

When PivotConfiguratorV2 and Grid are configured on the same page and sortable and/or filterable are enabled for both components an error is thrown in the console when trying to filter.

Reproduction of the problem

  1. Open the Dojo - https://dojo.telerik.com/@NeliKondova/utiHOPIc
  2. Click to filter the data in the Grid using the column menu

Current behavior

The following error is thrown in the console:
Uncaught TypeError: Cannot read properties of undefined (reading 'close')

Expected/desired behavior

There should be no error in the console and it should be possible for both PivotConfiguratorV2 and Grid to be sortable and filterable.

Environment

  • Kendo UI version: 2023.2.718
  • Browser: [all ]
Declined
Last Updated: 21 Aug 2023 13:10 by ADMIN
Created by: Jeff
Comments: 0
Category: Grid
Type: Feature Request
0
I am thinking some of this maybe some of the Kemdo.js files and the other js files maybe clashing. My LabelFor code does not work anymore either. We have a Html helper that loads the Field Name and the name we want to use for the labels from a list and all I get printed out is the Field Name. I can not get the helper file code to stop on a break point to debug it. Thnaks @using (Html.BeginForm("Index", "NewOrder", FormMethod.Post, new { name = "OrderForm", id = "OrderForm" })) { @Html.ValidationSummary(true) <fieldset> <legend> Add Order</legend> @Html.HiddenFor(model => model.IsOrderCatRequired) …….. <div class="form-sectionheader" id="OrderHeader"> Order Information </div> <div class="clear-float"></div> <div class="form-label" id="OrderCatLabel"> @if (Model.IsOrderRequired) {<text>RQ</text>}@Html.LabelFor(model => model.OrderCatID) </div> <div class="form-field" id="OrderCatIDField"> @(Html.Kendo().DropDownListFor(model => model.OrderCatID) .BindTo(new SelectList(Model.OrderCategory, "OrderCatId", "Description")) .Events(e => e.Change("OrderCat_OnChange")) .HtmlAttributes(new { style = string.Format("width:{0}px", 200) })) @Html.ValidationMessageFor(model => model.OrderCatID) </div>
Completed
Last Updated: 22 Nov 2023 08:29 by ADMIN
Release R1.2024-Increment.2(31.Jan.2024)

Bug report

In the draggable Grid, after new items are created the dragging of the rows does not work as expected.

Reproduction of the problem

  1. Open the Dojo example - https://dojo.telerik.com/@NeliKondova/USiBUBex
  2. Add multiple items - lets say 4,5,6
  3. Try to drag the rows to reorder them.

Current behavior

Sometimes the rows can not be moved at all, sometimes it is dropped in the wrong place.

Expected/desired behavior

The rows should be dragged and dropped without any issue even after creating new items in the Grid.

Environment

  • Kendo UI version: 2023.2.718
  • Browser: [all ]
Unplanned
Last Updated: 09 Aug 2023 07:06 by Lee
Created by: Lee
Comments: 0
Category: Grid
Type: Feature Request
5

The above behavior has been requested several times in the following forum thread.

https://www.telerik.com/forums/grid-column-locking-with-detail-template 

I would like for this limitation to be revised or for some other solution to be provided.

Declined
Last Updated: 01 Aug 2023 08:14 by ADMIN

Test Environment:

OS: Windows 11 Version 22H2(OS build 22621.1992)

Browser: Edge browser version 115.0.1902

Screen Reader: Narrator.

 

Repro Steps:

  1. Open URL: Kendo UI Snippet | Kendo UI Dojo (telerik.com)
  2. Navigate to the Choose Library combo box and select 'Kendo UI 2022 R2' option.
  3. Navigate to the Run button and activate it.
  4. Open Narrator using 'Ctrl + Win + Enter' key.
  5. Press 'T' key to navigate table in quick navigation mode.
  6. Navigate the table header controls using up arrow.
  7. Observe that narrator announce role as link on Filter controls or not.

Actual Result:

Incorrect role defined as "link" for the "Metric type filter column setting" button.

Expected Result:

Correct role defined as "link" for the "Metric type filter column setting" button.

Unplanned
Last Updated: 24 Jul 2023 09:12 by Cathy

Bug report

When tabbing through the row filter inputs of a virtual Grid only headers are scrolling

 

Reproduction of the problem

Run this Dojo - https://dojo.telerik.com/IjuJoRAx/5


Expected/desired behavior

Headers and columns shall scroll when tabbing through the row filter inputs

Environment
Kendo UI version: [all]
jQuery version:[all]
Browser: [all ]

Completed
Last Updated: 07 Sep 2023 08:23 by AGB
Release R3.2023-Increment.2(30.Aug.2023)

Bug report

In Grid with classic columnMenu, both filter and columns popups appear if you move the mouse quickly over both.

Regression introduced with 2023.2.606

Video to reproduce: https://screenpal.com/watch/c0iI6fVgJjm

Reproduction of the problem

  1. Open the ColumnMenu Grid demo - https://demos.telerik.com/kendo-ui/grid/column-menu
  2. Switch to classic ColumnMenu from the dropdown
  3. Open the ColumnMenu of a Column
  4. Quickly move your mouse through the Columns and Filter popups

Current behavior

Both Filter and Columns popup appear together

Expected/desired behavior

Only one of the popups should be visible at a time

Environment

  • Kendo UI version: 2023.2.718
  • Browser: [all ]
Completed
Last Updated: 25 Jul 2023 10:48 by ADMIN
Release R3.2023-Increment.2(30.Aug.2023)

Bug report

Clicking on a custom icon-button command in the Grid fires a change event.
This is a regression introduced with v 2023.2.606

Reproduction of the problem

  1. Run this dojo
  2. Click on the custom command button - only the click handler is executed
  3. Click on the icon button - a change event is fired and the click handler is executed

Expected/desired behavior

Only the click handler should be executed on click of an icon button representing a custom command.

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Completed
Last Updated: 28 Oct 2024 07:20 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)
Created by: Satish
Comments: 2
Category: Grid
Type: Bug Report
0

Bug report

The Grid column header texts collides with the columnMenu icons.

Regression introduced with 2023.1.314

Reproduction of the problem

  1. Open this Dojo example or the Multi-Checkboxes Grid demo (on a small screen)

Current behavior

The column header text overlaps with the menu icon

Expected/desired behavior

the header text shouldn't collide with the menu icon

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Unplanned
Last Updated: 30 Jun 2023 19:10 by Kiet
Created by: Kiet
Comments: 0
Category: Grid
Type: Feature Request
1

Hi Team,

I would like to request the ability to change the filter of a Kendo UI Grid column when the user chooses a new operator.  Please take a look at this forum post for reference.

Thank you!

Completed
Last Updated: 23 Oct 2023 12:07 by ADMIN
Release R1.2024-Increment.1(15.Nov.2023)

Bug report

In an in-cell edit mode, if you edit a Grid cell with enter key, the Grid will scroll to the top.

Regression introduced with v2020.3.1021

Reproduction of the problem

  1. Open this Dojo example - https://dojo.telerik.com/ICoceZUp/3
  2. Scroll to the one of the last items
  3. Edit a cell
  4. Close the cell with Enter key

Current behavior

The Grid scrolls to the top

Expected/desired behavior

The Grid shouldn't scroll to the top.

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Completed
Last Updated: 25 Jul 2023 10:51 by ADMIN
Release R3.2023-Increment.2(30.Aug.2023)
Created by: Matt
Comments: 0
Category: Grid
Type: Bug Report
3

Bug report

The Grid's pdf.repeatHeaders option does not display the column headers for each new page when exporting the Grid to PDF

Regression introduced with 2023.1.314

Reproduction of the problem

  1. Open the Grid Export to PDF demo - https://demos.telerik.com/kendo-ui/grid/pdf-export
  2. Export the Grid

Current behavior

The column headers are displayed only on the first PDF page

Expected/desired behavior

The column headers should be present for each PDF page

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Completed
Last Updated: 13 May 2024 12:58 by ADMIN
Release 2024 Q2 (May)

Bug report

When filtering is enabled in the Grid, the autoFitColumns method does not work.

Reproduction of the problem

  1. Open this Dojo example - https://dojo.telerik.com/AsaNeqOc
  2. Compare the column width of the two Grids

Current behavior

The filterable Grid's columns are not auto-fitted

Expected/desired behavior

The filterable Grid's columns should be auto-fitted

Environment

  • Kendo UI version: 2023.2.606
  • Browser: [all]
Completed
Last Updated: 06 Jul 2023 14:46 by ADMIN
Release R3.2023-Increment.1(19.July.2023)
Hi Guys

Testing the latest v2023.2.606 release I have hit a regression regarding filtering.

To demonstrate open the 'jQuery Grid Frozen Columns' demo

On the 'Order Id' column
    - Open the filter menu
    - Set the value to 10248
    - Hit the Filter button

The grid will be filtered but the Column & Filter menus remain open and the following JavaScript errors are generated

Firefox
    Uncaught TypeError: this.popup is undefined
        _closeForm https://kendo.cdn.telerik.com/2023.2.606/js/kendo.all.min.js:10
        _reset https://kendo.cdn.telerik.com/2023.2.606/js/kendo.all.min.js:10
        jQuery 2
            dispatch
            handle

Chrome
    Uncaught TypeError: Cannot read properties of undefined (reading 'close')
        at init._closeForm (kendo.all.js:325519:2)
        at init._submit (kendo.all.js:325519:2)
        at HTMLFormElement.dispatch (jquery.min.js:3:12445)
        at r.handle (jquery.min.js:3:9174)

Note: Not all of your demos exhibit the issue (but 100% of my grids do) so they must be something special regarding the options enable for particular grids.

Hopefully you can find and fix this bug quickly because upgrading to v2023.2.606 is not a viable option here.

Regards
Alan
Unplanned
Last Updated: 07 Jun 2023 20:00 by Mark
Created by: Mark
Comments: 0
Category: Grid
Type: Feature Request
1

Hi Team,

I would like to request a way to add a button into the Kendo UI Grid's pager using the built-in API.  Maybe adding a Pager Template might help.

Thank you!

Unplanned
Last Updated: 14 Jun 2023 06:55 by ADMIN
Created by: Alex
Comments: 0
Category: Grid
Type: Feature Request
0

Hi

again this request is not urgent as I implemented this myself.
I'd like to have 'nextRecord' 'previousRecord' functionality in the grid widget.

We have a next/previous record button on our forms and as floating buttons to navigate the records.
As soon as we navigate to the next/previous record, the form loads the data of the concerning record.

My current implementation is as follows:


/**
 *
 * Grid with navigation code included 
 * 
 * selectRowByIndex: 0 based row selection by index of currently shown rows
 *
 * @author Alex Bernhard <alex.bernhard@uzh.ch>
 * @version 1.2.0
 */


(function ($) {

    var kendo = window.kendo,
        ui = kendo.ui,
        Grid = ui.Grid,
        self = this;

    var NavigatableGrid = Grid.extend({
        init: function (element, options) {

            // assign that to this
            var self = this;
            this.selectedIndex = 0;
            this.updateAfterLoad = false;

            // call the base function to create the widget
            Grid.fn.init.call(this, element, options);

            if (typeof options['updateMethod'] == 'function') {
                this.updateMethod = options['updateMethod'];
            }

            self.bindEvents();

        },
        options: {
            name: "NavigatableGrid",
        },
        bindEvents: function () {
            this.bind("change", function () { this.setSelectedIndex(); });
            this.bind("dataBound", function () {
                this.selectRowByIndex(this.selectedIndex);
                // after selecting the next row, shall update be called here?
                // happens only when navigating to a new page
                // or after search results are present
                if (this.updateAfterLoad) {
                    this.updateAfterLoad = false;
                    let selectedItem = this.dataItem(this.select());
                    if(selectedItem != null && selectedItem.hasOwnProperty('id')){
                        this.updateMethod(selectedItem.id);
                    }
                }              

                return false;
            });
        },
        updateMethod: function () { },        
        setSelectedIndex: function () {
            let dataRows = this.items();
            this.selectedIndex = dataRows.index(this.select());
            return this.selectedIndex;
        },
        selectRowByIndex: function (index) {
            // zero based index
            this.clearSelection();
            this.select('tr:eq(' + index + ')');
        },
        selectRowById: function (id) {
            this.clearSelection();
            let view = this.dataSource.view();
            let _self = this;
            let rows = $.grep(view, function (item) {
                return item.id == id;
            }).map(function (item) {
                return _self.tbody.find("[data-uid=" + item.uid + "]");
            });

            if (Array.isArray(rows) && typeof rows[0] !== 'undefined') {
                this.select(rows[0]);
            }
        },
        previousRow: function () {

            // get current number of rows
            let pageSize = this.dataSource.pageSize();
            let currentPage = this.dataSource.page();

            // already first row of current page ?
            if (this.selectedIndex == 0) {
                let previousPage = currentPage - 1;
                // not the first page yet - load the previous page and read the data
                // after load
                if (previousPage > 0) {
                    this.selectedIndex = pageSize - 1; // last row of previous page
                    this.updateAfterLoad = true;
                    this.dataSource.page(previousPage);
                }
            } else {
                // set next row index (0 based !!)
                this.selectedIndex = Math.max(this.selectedIndex - 1, 0);
                this.selectRowByIndex(this.selectedIndex);
                this.updateAfterLoad = false;

                let selectedItem = this.dataItem(this.select());   
                if(selectedItem != null && selectedItem.hasOwnProperty('id')){
                    this.updateMethod(selectedItem.id);
                }
            }
        },
        nextRow: function () {

            // get current number of rows
            let numRows = this.items().length;
            let pageSize = this.dataSource.pageSize();
            let numPages = this.dataSource.totalPages();
            let currentPage = this.dataSource.page();

            // already last row of current page ?
            if (this.selectedIndex == numRows -1) {
                let nextPage = currentPage + 1;
                // not the last page yet - load the next page and read the data
                // after load
                if (nextPage <= numPages) {
                    this.dataSource.page(nextPage);
                    this.selectedIndex = 0;
                    this.updateAfterLoad = true;
                }
            } else {
                // set next row index (zero based !!)
                this.selectedIndex = Math.min(this.selectedIndex + 1, pageSize-1);
                this.selectRowByIndex(this.selectedIndex);
                
                let selectedItem = this.dataItem(this.select());   
                if(selectedItem != null && selectedItem.hasOwnProperty('id')){
                    this.updateMethod(selectedItem.id);
                }
            }
        }
    });
    kendo.ui.plugin(NavigatableGrid);
})(jQuery);

And an example usage is like:


accessionGrid = $("#accession-grid").kendoNavigatableGrid({
.... standard code for kendo grid
// call method in form when navigating
 updateMethod: function(data){accessionForm.update(data)},
.....
});

// code for grid navigation
function nextAccessionGridRow(){
    accessionGrid.nextRow();
}

function previousAccessionGridRow(){
    accessionGrid.previousRow();
}

Completed
Last Updated: 12 Jun 2023 15:32 by ADMIN
Created by: Support
Comments: 1
Category: Grid
Type: Feature Request
0

Allow using kendo templates in columns.attributes for example

<div id="grid"></div>
<script>
$("#grid").kendoGrid({
  columns: [ {
    field: "name",
    title: "Name",
    attributes: {
      "data-id": "#:data.id#",
      "data-clientid": "#:data.clientId#",
    }
  } ],
  dataSource: [ { id:1, name: "Jane Doe", clientId:"#223" }, { id:2, name: "John Doe", clientId:"#354"  }]
});
</script>

Unplanned
Last Updated: 26 May 2023 19:19 by Mark
Created by: Mark
Comments: 1
Category: Grid
Type: Feature Request
2

Hi Team, 

I would like to request a better way to be able to refresh the filters when the Kendo UI Grid refreshes.  I will elaborate more in an additional comment.

Thanks!

Unplanned
Last Updated: 18 Mar 2024 10:54 by ADMIN

The Kendo-UI Grid supports the concept of locked columns that are always on the left side of the screen (in a non-RTL-world) and do not scroll. This makes it necessary to split the underlying HTML-table into two parts (one is locked and one is not). Kendo-UI takes care of syncing the height of the rows between those two tables.

However, if there are empty cells in the locked part, this logic produces results that make the row grow larger (higher) than if there was content. This DOJO demonstrates the behaviour. Using the Browser's DEV-Tools, you can see that rows without content in column A are 37px high, while those with content are only 36px high.