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.
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.
I am following up to see how you are progressing with this matter.
I still did not have a chance to get back to this part of the project... Here I would like to know a bit more about paging :
Say I have 1500 child records about 100 per child grid. Say I page by 10 records every child grid. So the child grid will be bind to 100 records, only 10 displayed at once, when I click next then 10 other records displayed ... is that 10 records choose when grid gets bound... so 90 records not getting rendered to the browser and only 10 do...
If ajax is enabled so only partial update happen and if it is only 10 records why it does take so long ( about 8 sec ) ?
While trying to avoid premature optimization scenarios I'm trying to find a culprit... I do not believe that it is network, running browser on the server producing almost the same results.... as for other controls - page has some but it's just another grid with really small data set and drop downs and text boxes ( you've seen the page ), what I'll do when chance is create page with just this grid and see how it perform... we can close this thread for now but rather get back to it when page with single grid results will be available .
Thank you for the update. Performance can depend on a few things amount them are the browser, for example IE8 has issues with JavaScript and that can cause slow down. What other elements you have on the page also makes a difference if you have a lot of tables or a few large tables this can also cause some slowdown. Your network also has an impact on this, I would recommend using IE dev tools or something similar to profile you website and see what kind of responses you are getting. For displaying data you have to remember that each cell in a row is a record and a separate element that needs to be rendered so the number or records you have showing is the number of columns you have multiplied by the number of rows. I have created WebHierarchicalDataGrid’s with more records you have displaying and have run it in IE8 and haven’t seen issues with performance. This leads me to believe your issue is related more to your network and the other items/elements you have on your page.