Unplanned
Last Updated: 17 Feb 2021 16:25 by ADMIN
Brandon
Created on: 16 Feb 2021 19:53
Category: Grid
Type: Feature Request
0
Detail is initialized for only one row

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.

1 comment
ADMIN
Tsvetomir
Posted on: 17 Feb 2021 16:25

Hi Brandon,

Thank you for the report!

Indeed, there was a change in the implementation of the expandRow() method performance-wise. Passing a selector that targets multiple rows at a time was a rather side effect. Therefore, I am converting the following thread to a Feature Request.

For the time being, you could use a for-loop instead (the same as the one from the Dojo you have provided):

        dataBound: function (e) {   
          var grid = e.sender;
          grid.tbody.find("tr.k-master-row").each(function () {
            grid.expandRow($(this));
          });
        }

 

Best regards,
Tsvetomir
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.