Search code examples
.netwinformsdata-bindingtreeview

How do you databind to a System.Windows.Forms.Treeview control?


I'm looking at this control, and it seems to be lacking the standard .net "datasource" and "datamember" properties for databinding. Is this control not bindable? I can write some custom function that populates the treeview from a given data source, I suppose, and embed data objects as necessary, but is that the 'best practice'? Or does everyone simply use a 3rd party treeview control?


Solution

  • You are correct in that there is no data binding. The reason being is that TreeViews are hierarchical data structures. That is, not a straight list. As a result the databind option is invalid to say a List structure.

    Sadly it's creating your own populate methods or buying 3rd party controls (which in the end will have their own populate methods.)

    Here's a decent MSDN article on Binding Hierarchical Data.