Hi All,
I'm using UltraGrid to display tree-structured field, the outlookstyle is just what I needed. However I came into performance issue when there are multiple bands. My datasource is a dataTable, which has parent id field and uniqid field. I'm using an self-relation to display the structured layout. My situation is I found binding datasource statement and the expandall() cost a lot of time.
WinGrid Performance Guide is useful I found. It mentions maxBandDepth, However in my situation this variable can be as large to 100.
Wingrid Performance and DataSources mentioned about BindingList<T> , this could save time from the select the child records. However how could a list stands for a layered data. Any detail for this?
Any suggestion is welcome.
Hi,
awayings said:WinGrid Performance Guide is useful I found. It mentions maxBandDepth, However in my situation this variable can be as large to 100.
Regardless of the actual data, I recommend setting MaxBandDepth to something between 5 and 8. No human user is going to be able to deal with 100 levels of data in any real application, anyway.
awayings said:Wingrid Performance and DataSources mentioned about BindingList<T> , this could save time from the select the child records. However how could a list stands for a layered data. Any detail for this?
The only way to do this would be to create a BindingList<T> where T is a type that has a property which of type BindingList<T>. So you would have to build the entire data structure and the hierarchy up-front. This is more efficient than using a DataSet in that the entire structure and all of the relationships are established all at once, so the data source doesn't have to dynamically determine then as you expand grid rows.
But it won't help you reduce the sheer number of BindingManagers that DotNet creates from 100 levels of data. So this probably won't do much good.
Anybody?