RadTreeView support many types of Data Sources and Data Binding. Here is a nice article that lists all supported types of Data Binding: http://www.telerik.com/help/aspnet-ajax/treeview-data-binding-overview.html
About the expanded state of the TreeView on reload of the page:
- My suggestion is not to use Load On Demand if you are going to need the page to save the expansion of RadTreeView. Perhaps you are facing a scenario with RadTreeView on a MasterPage with content pages assigned as NavigateUrls to the nodes of the TreeView. And if you navigate to a certain page, you need to be able to expand the TreeView accordingly. If your case is similar (or same), and if there are as much as hundreds not thousands
of nodes, the performance should not be harmed too badly.
About the ParentNode being Read-only:
- We try to enforce good practices where possible and for that reason the creation and adding of a node as a child to another node happens strictly and only in a single way - instantiate the node and add it to the nodes collection. The ParentNode is added only for users convenience when navigation through the tree-structure is required (especially top-down - from leave-nodes to root).
the Telerik team