This is a migrated thread and some comments may be shown as answers.

Kendo Grid with large number of columns

6 Answers 385 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Suril
Top achievements
Rank 1
Suril asked on 22 Oct 2012, 12:58 PM
Hi,

We have requirement where we have to display 250 columns and 1000 records in the grid.

Does kendo grid supports this type of scenario? Does performance affect with large number of columns?

Thanks,
Suril

6 Answers, 1 is accepted

Sort by
0
Thomas
Top achievements
Rank 1
answered on 29 Oct 2012, 12:30 PM
Hi Suril,

the scenario with a large number of columns is currently poorly supported, due to a O(n^2)-Implementation of the ColumnChooser. (and a 250-column grid without a column chooser doesn't seems a very sensible scenario). Except for loading time, also the selecting / deselecting of columns seems to be disproportionally expensive with the number of columns.

Things are getting a lot better with jQuery 1.8.2 (Kendo UI Q3), but still it lags a lot, especially in Internet Explorer. With a grid of ~50 columns on a modern PC it is roughly bearable. As the costs are n^2, I guess 250 columns will make most browsers crash using the current implementation.

The template for the column chooser is evaluated for every column, so is also the for-loop inside:

'#if(showColumns){#'+
    '<li class="k-item k-columns-item"><span class="k-link"><span class="k-sprite k-i-columns"></span>${messages.columns}</span><ul>'+
    '#for (var col in columns) {#'+
        '<li><label><input type="checkbox" data-#=ns#field="#=columns[col].field#" data-#=ns#index="#=columns[col].index#"/>#=columns[col].title#</label></li>'+
    '#}#'+
    '</ul></li>'+
    '#if(filterable){#'+
        '<li class="k-separator"></li>'+
    '#}#'+
'#}#'+

Does anybody have a workaround for this performance issue (except for disabling the column chooser or implementing it separately ..)? Actually it would be sufficient to generate the list only once, as it is identical for all columns.

Additionally I believe it would be a very welcome feature to offer a customizable ColumnChooser, that can be placed e.g. at the toolbar. To some people the columnChooser doesn't seem very intuitive inside a column menu, as it doesn't offer any functionality, that is specific to the column. This way, the performance-problem would be solved too.
0
Peter
Top achievements
Rank 1
answered on 26 Oct 2015, 08:11 PM

Any idea, if this is possible with kendo-ui grid?

I'm looking to put together a business report that has 200+ columns.

Is there a lazy render for columns?

0
Kiril Nikolov
Telerik team
answered on 29 Oct 2015, 01:06 PM

Hello Peter,

 

While there are no limitations for the number of columns in a Kendo UI Grid, some browsers and computer configurations might not be able to handle such big amount of data. So it is up to you test and determine if it will be possible in your setup.

 

As for lazy loading - You can submit this as a feature request on UserVoice, so that it is considered for implementation in a future release.

 

Regards,
Kiril Nikolov
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Jeff
Top achievements
Rank 1
answered on 17 Feb 2017, 01:03 AM
Has there been any change regarding the ability to lazy render columns, especially given the poor performance of Kendo UI grids in Internet Explorer?
0
Kiril Nikolov
Telerik team
answered on 17 Feb 2017, 07:40 AM
Hello,

There is no virtualizing functionality for the columns in the Kendo UI Grid currently. You can submit a feature request in our feedback portal, so it is consider for future development.

Regards,
Kiril Nikolov
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
0
Kiril Nikolov
Telerik team
answered on 17 Feb 2017, 07:40 AM
Hello,

There is no virtualizing functionality for the columns in the Kendo UI Grid currently. You can submit a feature request in our feedback portal, so it is consider for future development.

Regards,
Kiril Nikolov
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Tags
Grid
Asked by
Suril
Top achievements
Rank 1
Answers by
Thomas
Top achievements
Rank 1
Peter
Top achievements
Rank 1
Kiril Nikolov
Telerik team
Jeff
Top achievements
Rank 1
Share this question
or