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.
Thank you for your update. Part of the reason you are seeing this is IE8 is slow when dealing with JavaScript which can cause slowdown on your page. How many columns do you have on your parent band? How many on the child band?
Column count :
parent 7 columns ( including 4 hidden )
type 1 8 columns ( including 3 hidden)
type 2 6 column ( incl 4 hidden )
type 3 7 columns ( including 3 hidden )
Initialbinddepth set to 1 so everything get rendered upfront, so far this is only way page became operational... ,
Are there any other ways to reduce view state size.. or anything else can be done to speed it up..
Attached is source view of the page, may be something is there that I did not noticed...., do this controls can operate without writing into viewstate ? Anyway, do you have any approach to reduce size of the rendered page ?
Thank you for the update. I have a few follow up questions concerning this matter. Where are you getting your data from? Are you storing on the server? Instead of the source can you provide me with the markup for grid so I can see what properties you are using and how you are setting them?
Data get stored in the session : retrieved once and maintained there until saved... the big grid on the first tab also some filtering capabilities implemented, the rest seems like minor addition, here is the binding on the page load and the mark up page attached:
if (IsPostBack) { if ((ExhibitLR2MasterDS)Session["ExhLR2MasterDS"] != null) { // ExceptionUtility.LogException("Due~~PageLoad PostBack, Data exists: " + DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt")); ExhibitLR2MasterDS MasterDS = (ExhibitLR2MasterDS)Session["ExhLR2MasterDS"]; ExhibitLR2MasterDS.ExhLR2MasterTblDataTable MstTbl = MasterDS.ExhLR2MasterTbl; uc_top_refresh.wddTopAcctFilters.AutoPostBackFlags.ValueChanged = Infragistics.Web.UI.AutoPostBackFlag.On; string filter = uc_top_refresh.wddTopAcctFilters.SelectedValue; if (hdnAccountFilterVal.Value != filter) { hdnAccountFilterVal.Value = filter; whdg.GridView.ClearDataSource(); whdg.GridView.Rows.Clear(); MstTbl.DefaultView.RowFilter = filter; whdg.DataSource = MasterDS; // (ExhibitLR2MasterDS)Session["ExhLR2MasterDS"]; whdg.DataBind(); whdg.GridView.RequestFullAsyncRender(); } else { MstTbl.DefaultView.RowFilter = hdnAccountFilterVal.Value; whdg.DataSource = MasterDS; // (ExhibitLR2MasterDS)Session["ExhLR2MasterDS"]; whdg.DataBind(); } ExhibitLR2DetalsDS ExhLR2DetailsDS = (ExhibitLR2DetalsDS)Session["ExhLR2DetailsDS"]; wdgSrv.DataSource = ExhLR2DetailsDS.SurveyTbl; wdgSrv.DataBind(); // SynchronizedExtra(); //BindExtra(); }
Thank you for the update. It seems that instead of attaching your markup you have attached the cs codebehind file. Can you please attach the markup so I can look at what properties you use on your grid? Do you set the EnableDataViewState property of the gird?
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.
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 ) ?
I am following up to see how you are progressing with this matter.
Thank you for the update. I will follow up in a few business days to see how you are progressing with this matter.