RadNavigation supports binding to various types of data sources, including declarative
datasources.
Some of the declarative data sources are inherently hierarchical. That includes
SiteMapDataSource and XmlDataSource. When data-bound
to these types of data sources, RadNavigation automatically creates the Navigation node hierarchy.
There is no need to use the DataFieldID and DataFieldParentID
properties.
The AccessDataSource is a table-based DataSource component. It
can be used to bind the RadNavigation declaratively at design time. As with binding to a
DataSet, DataTable, or DataView, you can use the ID-ParentID relation
to establish a hierarchy among Navigation Nodes.
RadNavigation supports binding to an ObjectDataSource as well. In addition
to the standard Navigation Node properties (Text, Value, Navigate Url, etc.) that can
be bound to the underlying business objects, the DataFieldID and
DataFieldParentID properties can be specified, too. In this way,
RadNavigation can create a hierarchy of its Nodes.
Still, the business objects should provide the data needed for the RadNavigation to build
the hierarchy. If the ParentID property of the business objects are of nullable
or reference type, then null values denote root Navigation Nodes. In case, the ParentID
property is of value type (Integer, Guid, etc.), '0'/'Guid.Empty' values denote
the root Navigation Nodes.
For more details on the aforementioned algorithm, you can read the following article -
Binding to object-based data sources
.