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

GWLlosa picture GWLlosa · Dec 16, 2008 · Viewed 26.7k times · Source

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?

Answer

Gavin Miller picture Gavin Miller · Dec 17, 2008

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.