Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
245
How to add new Nodes to UltreTree through a BindingList as a DataSource
posted

For efficiency reasons I need to load some sub-nodes at BeforeExpand event but simply adding this new sub-data to the BindingList seems to don't work visually on the UltraTree(18.x), because the BindingList keeps the added data to the appropriate node but UltraTree seems can't add the new Nodes in question.
After DoubleClick for expanding the Node, data is added, and I do even an ExpandAll and Refresh(on UltraTree) at the end but nothing seems to work to render the added data to the DataSource and I'm lost.
The ViewStyle of the UltraTree is setup on Standard, is there any chance that a custom setting on the UltraTree is preventing the update of the new added sub-nodes?

Here's the structure of the data itself, if it can help:

Public Class UserTable

     Public Property Database As String
     Public Property Schemas As List(Of Schema) = New List(Of Schema)

End Class

Public Class Schema

     Public Property SchemaName As String
     Public Property Tables As List(Of Table) = New List(Of Table)

End Class

Public Class Table

     Public Property ShortName As String
     Public Property Name As String
     Public Property Enabled As Boolean = False

 Public Property Columns As List(Of Column) = New List(Of Column)

End Class

Public Class Column

     Public Property Name As String
     Public Property Description As String

End Class

And the BindingList is like:

Private Property TablesTree as New BindingList(Of UserTable)

Assigned to the DataSource like:
TablesUltraTree.DataSource = TablesTree

And the nodes that I'm adding are for "Columns" with a function GetColumns() that returns a List(Of Column)

Ps: If I load all the nodes(included the ones that I need to add later) at "Load" event of the form, everything shows as expected