Unplanned
Last Updated: 11 Apr 2023 07:32 by ADMIN
Scheduled for 2023.2

Describe the bug

Text overlaps on selected non-altering rows upon scrolling in Grid with sticky columns with version 2023.1.314

To reproduce

Dojo: https://dojo.telerik.com/eXeMAZOM

Select a non-altering row

Scroll to the right

Affected package (please remove the unneeded items)

theme-default
theme-bootstrap
theme-material
theme-tasks
Affected suites (please remove the unneeded items)

Kendo UI for jQuery
Telerik UI for MVC
Telerik UI for Core
Affected browsers (please remove the unneeded items)

All
Build system information (please remove the unneeded items)

Not Applicable

Unplanned
Last Updated: 16 Sep 2022 07:13 by ADMIN

Hi,

We have a grid with virtual scroll enabled.

When double-clicking on the first 15 rows resize handles, it behaves correctly, i.e it automatically fits the columns size to max row width.

The problem occurs now when we begin scrolling horizontally the grid : starting to the 16th column (red backgrounded) resize handle double click action behaves weirdly. Sometimes it fires a scroll event without doing else, sometimes it resizes the column but in the wrong way by reducing width.

Check this JsFiddle to reproduce the problem. Problematic column are red backgrounded.

 

Unplanned
Last Updated: 17 Feb 2021 16:25 by ADMIN
Created by: Brandon
Comments: 1
Category: Grid
Type: Feature Request
0

I just recently upgraded to the latest version of Kendo UI (2021) and noticed one of my screens broke.  I'm not sure if this was something that you intended on breaking so I wanted to report it as a bug.  I had a screen with a grid in which the detail contained a child grid.  This particular screen doesn't have a lot of rows and the due to the usage of it the detail is extremely important and I have it set to auto expand.  The auto expand still works in the respect that the rows show as expanded but every row has the same detail...which is the detail belonging to the first row.  Here is a dojo showing the bug in action: https://dojo.telerik.com/@bowensby/EfUMihUp.

The main place to focus is the dataBound event on the main grid. I found a workaround using the commented out lines (the .each in jquery).  The original way is cleaner but it only causes detailInit one time and therefore repeats the same detail for every row.

Unplanned
Last Updated: 30 Aug 2022 10:55 by Tyler

Subject says it all, this has to be a bug or something? I am having the user update what's in the grid and then on cellClose making an ajax call to save the value but it's not firing when the cell changes, only if it stays the same.

Here's a dojo showing off what's happening:

https://dojo.telerik.com/ekoLaZOm 

Unplanned
Last Updated: 14 Sep 2021 12:00 by ADMIN
Created by: Vadim
Comments: 0
Category: Grid
Type: Bug Report
0

### Bug report

When the column menu of the Kendo UI Grid widget with componentType set to 'modern' is used in a hierarchical grid, it expands behind the bottom of the page.

### Reproduction of the problem

1. Use the detail template feature of the Grid to create a child Grid;

2. Enable the "columnMenu" in the "modern" render mode;

3. Expand the last row and open the column menu;

4. Expand the filter menu. It is partly hidden.

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

### Expected/desired behavior

The  "modern" column menu should be rendered as the "classic" column menu - its position should be changed based on the available space.


### Environment

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

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

Unplanned
Last Updated: 09 Mar 2023 13:49 by Maximilian

Bug report

Setting the columns.selectable to true does not override the selectable.mode when set to "single".

Reproduction of the problem

  1. Run this dojo
  2. Click on the header checkbox.

Current behavior

Only the checkbox in the first row is checked.

Expected/desired behavior

All the checkboxes on the page are checked

Environment

  • Kendo UI version: 2023.1.117
  • jQuery version: x.y
  • Browser: [all]
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.

Unplanned
Last Updated: 30 Apr 2024 13:20 by Sara

Bug report

Regression Bug.

The new double tap editing mode not entered in Chrome and Edge on mobile devices since 2023.3.1010

Tested on iPad and iPhone

Reproduction of the problem
Dojo: https://dojo.telerik.com/AtaWufEG

Expected/desired behavior
User shall be able to enter editing mode on double tap

Environment
Kendo UI version: 2023.3.1010 or newer
Browser: [Chrome, Edge on Apple mobile device]

Unplanned
Last Updated: 21 May 2021 10:35 by ADMIN

The details for this can be found in ticket #1519224

Given some XML that has child nodes and attributes, I'm binding to a grid with no problem. The child grid for each row (built using detailInit) get's the data from the parent row e.data.get("BillRows")

If those rows have attributes, the '@' signs breaks the javascript for the grid. As you can see in the ticket, every attribute needs to be renamed before I can build the child grid.

Should be a way to use attributes in XML bound to a datasource/grid for all levels of grids.

Rick

Unplanned
Last Updated: 12 Sep 2022 07:32 by ADMIN

Description: 

Users who rely on high contrast Aquatic/ Desert mode will be affected here as they will face difficulty in knowing which control is focused right now.

Environment (OS, Application):

Test Environment:

Microsoft Edge : Version 105.0.1343.25 (Official build) (64-bit)

OS version (OS Build 22000.856) 

URL: https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/configuration/filterable.messages

Pre-Requisites (if any):

1. Go to system settings.

2. Navigate to 'Accessibility' and activate it.

3. Navigate to 'Contrast theme' and activate it.

4. Select 'Desert/Aquatic' High Contrast theme in the combo box.



Repro Steps:

1. Open given URL in Edge. 

2. Kendo UI for jQuery "filterable.messages" page will be open.

3. Go to preview button and activate it.

4. Turn on High contrast theme.

5. Navigate to filters and activate it. Expand 'Show items with value that:' drop drown of filters.

5. Navigate over drop drown and Observe the issue.

Actual Results:

User is not able to recognize, which list item is focused or selected in 'Show items with value that:' drop drown of filters in high contrast Aquatic/ Desert mode.

Expected Results:

A proper rectangular colorful boundary should be defined which indicates the currently selected/focused list item under the Show items with value that:' accordingly in high contrast Aquatic/ Desert mode.

Additional notes:

The same issue can be observed throughout the page where a similar dropdown appears.