Hello,
Mainly I can't understand why I don't see node (Level 3) in case "wrong" in test example?
Cases wrong and right differ only of their order of nodes.
And one more question.
If i remove line 49
(ultraTreeNodeColumn1.DataType = typeof(string);)
in file Form1.Designer.cs
the tree looks like list
How it related with type of column?
I am using Infragistics2.Win.UltraWinTree.v10.3.dll (version 10.3.20103.1000)
Thank you
Roman
I tested version 12.2 and it shows the same
Hi Roman,
The DotNet BindingManager determines the data structure using the first node. So in this case, when you click "Wrong", your first node has a single child node whicih has no children. Therefore the depth of the entire data structure is established at that point and the second and subsequent nodes will never show anything past the first child level.
You need to set this up in such a way that the Children always returns an empty collection, rather than returning null. Also, if the Children collection is empty, the BindingManager will not be able to determine the structure of the data on that level. The usual way it handles this is that it tries to add an item to the list and then cancel it. But in your case, that won't be possible since your data source doesn't implement ICancelAddNew or IEditableObject.
Also, the code as you have it here is very difficult to read and understand. I've never seen anyone use a BindingList of BindingLists with a Children property that returns itself. This is a very unusual scenario and I wouldn't be surprised if it caused a lot of unpredictable behaviors.