Hi
We're trying to implement a 3 level hierarchy with RadGrid, preferably client-side data bound. We've had a couple of questions on this already (http://www.telerik.com/community/forums/aspnet-ajax/grid/hierarchial-view-and-client-side-binding.aspx
http://www.telerik.com/community/forums/aspnet-ajax/grid/3-nested-radgrids---performance-issue.aspx )
and currently have an understanding on how it works in Telerik but not quite sure how we can handle this.
In case we create 3 hierarchy levels (say A, B, C) intended to be databound on client side so that they have HiearachyMode="Client" we face performance issue because as far as we understand all RadGrid objects are created initially on all levels. And number of objects on each level depends on the PageSize parameter on the upper level (so that for each row in the page a nested Grid object is created). So that if we have
PageSize = 10 for level A
PageSize=100 for level B
this leads to:
1 level A grid (with maximum 10 expandable rows)
10 level B grids (one for each row in level A grid. Each of these grids can have maximum of 100 expandable rows).
1000 level C grids (100 grids - one for each row of 10 level B grids)
So the performance degrades exponentially (as mentioned in answer to my question here: http://www.telerik.com/community/forums/aspnet-ajax/grid/3-nested-radgrids---performance-issue.aspx ), which is a major problem, since we would actually like up to 1000 records to be present on level B, not 100. The problem is, that in case grid objects aren't created - we can apply more records on level B, but they won't get expandable.
The question is - what can we do in order to avoid this problem? Is this somehow possible to create client-side nested grid objects not initially, but only in the moment of row expansion (but keeping the ability to bind data to this grid on client-side)? We're trying to mix level A HierarchyMode="Client" with Grid put in NestedView (as described here: http://blogs.telerik.com/vladimirenchev/posts/08-09-09/how-to-telerik-radgrid-master-detail-client-side-data-binding-using-linq-to-sql-and-webservice.aspx) and use a DetailTable grid with HierarchyMode="ServerOnDemand" for B and C grids, but meet troubles implementing this yet. Maybe better approach is possible?