I have a page with pretty extensive Hierarchical grid. It takes about 30 - 40 seconds to load on the browser end.
One way to improve loading time is to create paging.. what are other methods to improve performance/shorten loading time ?
Thanks.
Hello mcseidel,
Thank you for contacting Infragistics.
Concerning performance of the WebHierarchicalDataGrid I recommend you see the following behaviors:
Paging: http://help.infragistics.com/Help/NetAdvantage/ASPNET/2012.2/CLR4.0/html/WebHierarchicalDataGrid_Enabling_Paging.html
Load On Demand: http://help.infragistics.com/Help/NetAdvantage/ASPNET/2012.2/CLR4.0/html/WebHierarchicalDataGrid_Load_On_Demand.html
Please let me know if you have any further questions concerning this matter.
Sincerely, Mike P. Developer Support Engineer II Infragistics, Inc. www.infragistics.com
I am following up to see if the information provided has resolved this matter.
Please let me know if I may be of further assistance with this matter.
The InitialDataBindDepth set to 1 so all child grids will be rendered to browser and there won't be any postbacks... seems like -1 would do the same in our case.
Enable Adjux - yes I did try it.. actually main issue is the time of initial loading , so the goal is to figure out how to reduce grid footprint .
Here what I would like to know : when page grid ( say the biggest child grid) it does mean that only record in the current page will be rendered to the browser, and it goes for any next set to the server, right ?
Anyway, again is there a way to minimized javascript footprint that were sent to browser ?
btw IE9 perform much better then IE8 but we can direct users to it. The best performance is on Firefox, but Chrome somehow is the same as IE8..
Hello mcsidel,
Thank you for the update. With paging that is correct only what needs to be shown is rendered. The behaviors the improve performance for the WebHierarchicalDataGrid are paging and load on demand. After that you can get into custom behaviors like manual load on demand and custom paging where you would on the server only retrieve and send down the records that are going to be rendered instead of the whole datasource. This would be done through for example your sql select command you limit the number of records you retrieve and send down client side.
Would limiting records through setting filter to data source ( typed dataset in my case) will have the same effect as manually paging and limiting number of records by setting parameters on select statement ?
Thank you for the update. Filtering your datasource after you retrieve it will have some effect as long as you only send down the filtered results. As that way only part of your data will be sent down. Going through the select command I believe will have a bit stronger effect as you retrieve less records from your database/datasource on the server.
Database record retrieval is not an issue, it is almost instant... the problem is actually in the rendering process on the browser site, even with the paging. Still 8 seconds per page does not sound as a good deal. I'll verify if the biggest child grid has AJAX on, and start from there...
Thank you for the update. I will follow up in a few business days to see how you are progressing with this matter.