Hi Team,
I am using Web hierarchical datagrid with initial data bind depth to -1. The relation of parent and child is displayed in code behind. The option to add child band in client side is also enabled using the row island property. I feel the slowness onload in the client sid(It is all inbuilt script and I don't have any code for my end to execute onload event).
Time stamp captured:
Parent Rows: 50 Child Rows: 262
Server time :00:00:04.62 Client side: 00:00:50.10
----------------------------------------------------Parent Rows: 50 Child Rows: 0
Server time :00:00:03.35Client side: 00:00:07.04
Nearly one minute for just 50rows is non tolerable. Please help me in this.
Regards,
Ahmed.
Hi Ahmed,
Can you please give me some more details. What do you mean by "The option to add child band in client side is also enabled using the row island property"? I also didn't understand if you have some custom script? Is it possible for you to share a small working sample reproducing the issue, or at least a code snippet?
Thank you.
Hi Nikolay,
Thanks for your quick response. Please find the attachment below to reproduce the long running script issue. Run the page using the machine name and not local host.
The requirement is to show grid with all the parent rows expanded (expand all). So "set InitialExpandDepth to 0 " would not suffice the need.
On an average, we want to display 100 parent rows and each parent row will have 5 child rows, all together 600 (100 parent + 500 child) rows.
However we have tested with 50 parent rows and 5 child rows for each parent row and really surprised to see such poor performance on expand all. It takes 50 to 60 seconds just on browser (server time has been separated), please advise if there is a way to expand all faster either on server/client side.
Thanks,Ahmed
I would suggest you to set height for the grid. You can make it 100% of the screen and the only difference will be that the grid's scrollbar will be used instead of the browser's. But this should improve the performance.
Hope this helps.
Thanks for looking into the issue. I have set the height as per page size and it displays scroll on the grid not on the browser. However I could see slight improvement, it used to take 50 seconds (just browser rendering time) on browser earlier and now it takes 49 seconds.
Please advice if there is anything to bring down the WebHierarchicalDataGrid rendering time to 5 to 10 seonds.
Regads,Ahmed
Hello,
This is very strange. It takes ~7-10 seconds to load on my side. What is your environment - OS and browser?
The statistics which I shared are for Expand All, it takes 45 to 50 seconds on browser (apart from server time) for loading 50 parent and 5 child rows for each parent row (i.e., 50 parent + 250 child rows). My code was already attached in the thread, could you please review and let me know the code changes to achieve 7 to 10 benchmark as you mentioned. Thank you
OS: Windows 7Browser: IE 9
Reagrds,Ahmed
You may consider reducing the PageSize on Paging. For example PageSize=10 would increase the performance in compare to PageSize=50.
Please let me know if I can provide further assistance.
Best Regards,
Tsanna
Hi Tsanna,
Thanks for your time on investigating the issue.
I have implemented both features, (1) if user expands one by one then it loads the child band with Load on Demand on client side. (2) If user want to expand all then we use Expand All feature on the server side.
I already did paging for Expand All functionality, have set the page limit as 50 parent rows and each parent row will have 5 child rows. To load 50 parent rows and 5 child rows for each parent row on Expand All takes more than 60 seconds. In which 40 to 45 seconds time take only on client side. However populating 50 parent rows + 5 x 50 (child rows) = 300 rows taking ~45 seconds on browser is not good
Please advise if there is anyway to improve the performance.
My machine configuration 2.27 GHz processor with 4GB RAM, OS Windows 7, browser IE9.
Regards,Ahmed
Hello ahmed,
Please note that improving grid performance could be achieved either by using Load on Demand feature:
- http://help.infragistics.com/doc/ASPNET/2014.1/CLR4.0/?page=WebHierarchicalDataGrid_Load_On_Demand.html
or by enabling Paging, which will break the grid data in smaller subsets displayed as pages and this will reduce the load time:
http://help.infragistics.com/doc/ASPNET/2014.1/CLR4.0/?page=WebHierarchicalDataGrid_Enabling_Paging.html
After I took a look at your discussion with my colleague Nikolay, as far as I understood you don't prefer using load on demand, because you want the parent bands to be initially expanded. Is it right? In this case I would suggest you to use Paging as alternative.
If you have any further questions, please let me know.
Sincerely,