Current filter:
                                You should refresh the page.
                                  • Hello,

                                    I am starting to look at the sunburst control.   I have seen an example on GitHub - and I understand how it is being used from the point of view of having multiple different lists - where list a references list b - which in turn references list c.   This is a simple hierarchy - and I follow how that would work.
                                    But what if you have something like a directory structure?  Where the data would be held in one list - that references itself... ?    Do you have any examples of how we might handle something like that in the Sunburst control?  I have some other data in the same vein - where I have relationships something like a family tree - where it is a self referencing list.

                                    Bradley

                                • Alex (DevExpress Support) 11.14.2018

                                  Hi Bradley,

                                  From what I gather, you are referring to the How to: provide hierarchical data to Sunburst example.

                                  We have also published the How to: implement drill-down in Sunburst example that uses SunburstHierarchicalDataAdapter mapped to a class containing a nested collection of the same type. Please review it and let us know if you find this information helpful.

                                  If you need further assistance, feel free to modify the sample project source code to illustrate your data source schema. We will check for a suitable solution for you.

                                • George MacDonald 11.14.2018

                                  Alex,

                                  That was exactly what I was looking for - Thank you!!

                                  Another question.   I am going to look at having this display hierarchical (tree like) data that could be many, many levels deep.

                                  So - I would like to load all the data into the sunburst - but only display say the first 3 or 4 levels...  Then when the user clicks on a item in the control - redisplay from the item ondown into the tree.  I can see how I can click on the grid from your example above - but is there a way to limit how many levels are displayed in the tree (without having to load everything every time???   (as this could get slow).

                                  Thoughts?

                                  Bradley

                                • George MacDonald 11.14.2018

                                  Alex

                                  Ok - I have it working with my data - but not 'exactly' what I was looking for …

                                  I have a directory dump of my directories on my C drive for this test.  I load that into a List - and use it as the source of data for the dataadapter.  Now - the Sunburst shows only one level at a time...    What I would really like to see is to be able to have the hierarchical data loaded - but decided to display say 3 or 4 levels of the hierarchy.

                                  So - with the image you have on the Sunburst reference page (https://documentation.devexpress.com/WindowsForms/DevExpress.XtraTreeMap.SunburstControl.class) - it shows the data three levels deep.  Which in this case is all the levels you have...     But what if there were many more levels (like my directory tree example - which is a classic tree data example - or perhaps a family tree) - now you have possibly hundreds of levels deep - and displaying them one level at a time is well - boring...I might as well have a simple TreeMap at that point.  The users will want to see the data at least 3 or 4 levels at a time.

                                  So - is there a way to

                                  1. Have hierarchical  data
                                  2. Display multiple levels at once (preferably user or programmer controlled as to how many will be displayed)
                                  3. Ability to drill down.    When you click on a item in the sunburst control - reposition the display to make it the starting point for the sunburst control.  This is pretty much working now with the way the drill down is currently working - only instead of displaying one level - it would display multiple levels below the selected item.

                                  Thoughts?   If it would help - I can supply my modified version of you app example - with my new data...   As it has MANY levels (and over 50,000 directories).

                                  Thank you.

                                  Bradley

                                • George MacDonald 11.14.2018

                                  Alex

                                  Here is the modified project - and new XML data file.  I figured it would not harm anything to upload - even if it is 23 MB in size.

                                  Bradley

                                • George MacDonald 11.14.2018

                                  Alex

                                  Sorry - I just figured out how to do the multiple levels showing at once.  I was not using the "ChildrenDataMember" property - and when I set that to the correct list - I get to see the tree as I wanted - and the drill downs and hints still work!!

                                  The only thing I am hoping to do (which I am not sure I can at this point) - is to limit the number of levels of branches showing in the tree...   Is this even possible?

                                  Performance!!!
                                  Ok - I like this control.  However, I have noticed that with the sample program above - it works fine if you are using it as original setup - in Drill Down sort of mode.  However, when you modify the Form1() method to add in the ChildrenDataMember line - the performance crawls.

                                          public Form1() {
                                              InitializeComponent();
                                              this.WindowState = FormWindowState.Maximized;
                                              DataAdapter.Mappings[0].Type = typeof(DirInfo);
                                              DataAdapter.Mappings[0].LabelDataMember = "ShortDirName";
                                              DataAdapter.Mappings[0].ValueDataMember = "DirSize";
                                              DataAdapter.Mappings[0].ChildrenDataMember = "SubDirectories";
                                              DataAdapter.DataSource = LoadDataFromXML();
                                          }

                                  Now - there are over 50,000 entries to add to the sunburst control - so I don't expect super fast performance - but it is very slow with that much data.  (and I mean slow...).     This also affect how the drill down works as well - as when you drill down to a sub-directory - it is fast - but when you try to go backup to say the root directory - then it is like it is loading the entire thing from scratch again.  Very slow.

                                  Is there a BeginUpdate/EndUpdate method that can be used like there is for the Grid?  I was looking but I did not see any for the Control or the dataadapter.  Perhaps I am missing something???

                                  I fully understand that this is the first release of this control - so I am not disappointed - but it does limit its usability in a real world situation where there is lot so elements to display. The modified project above should show you the performance issue I note - if you modify the Form1() method as shown.

                                  Let me know if I can provide anything else for this issue

                                  Bradley

                                1 Solution

                                Creation Date Importance Sort by

                                Hi Bradley,

                                Special thanks for posting your sample XML data file. We have performed a series of tests with it and managed to reproduce the slow performance when switching between different drill-down levels.
                                We will examine this issue in greater detail and check for a suitable solution.

                                As for the capability to limit the number of levels, this functionality is not currently supported. Having discussed this scenario we decided to register a separate ticket to address this limitation:

                                Usability - There is no capability to limit the group detail level.

                                We will notify you once we have any results.

                                Show all comments
                                • George MacDonald 11.15.2018

                                  Alex,

                                  Thank you.  Let me know if you need or want a larger XML file with more nodes.  I have a program that can generate it from directory structures.

                                  Bradley

                                • George MacDonald 11.15.2018

                                  Hello Alex,

                                  I have been playing with a simple little Delphi program (freeware) that implements a Sunburst chart.  While it is a little more crude than the DevExpress one - it is MUCH faster in loading - and in implementing the drill down/up.

                                  Here is the tool I mention.
                                  http://www.steffengerlach.de/freeware/">http://www.steffengerlach.de/freeware/

                                  Once again - I do not expect things to be perfect with the sunburst at this point (initial release and all) - but I want to provide all the feedback I can to help DevExpress make it just that much better.

                                  Bradley

                                • Alex (DevExpress Support) 11.15.2018

                                  Hi Bradley,

                                  Thank you for the follow-up. I agree that the performance should be improved - we will definitely continue working in this direction.
                                  Of course, we will publish the updated version of the original example once the group detail limit option is available.

                                • Alex (DevExpress Support) 11.22.2018

                                  Hi Bradley,

                                  A follow-up. We have managed to improve the rendering performance when processing a big number of groups: Slow performance when rendering a big number of group levels. If necessary, you can request a hotfix build and test it on your side.

                                • George MacDonald 11.22.2018

                                  Alex,

                                  Do you have a rough idea when this fix might be released normally?   If it is within 2 or perhaps 3 weeks - I Can wait.  If not - then I might want to try the hotfix...

                                  Thoughts

                                • Alex (DevExpress Support) 11.22.2018

                                  We usually release maintenance updates on a monthly basis. The current version (v18.2.3) was shipped less than two weeks ago, which means that the next update most likely will be available in December if we do not find unexpected show stoppers.

                                • George MacDonald 11.22.2018

                                  Alex,

                                  That is good - I will wait for the maintenance release - rather than create extra work for you folks.

                                  Thank you

                                  Bradley

                                • Alex (DevExpress Support) 11.22.2018

                                  Bradley,

                                  No need to worry about extra work - we publish hotfix builds every week. In any case, I have already requested a hotfix build (just in case). The download link will be available in the Slow performance when rendering a big number of group levels ticket.