RadMenu supports binding to various types of data sources, including declarative
datasources.
Some of the declarative data sources are inherently hierarchical. These include
SiteMapDataSource and XmlDataSource. When data-bound
to these types of data sources, RadMenu automatically creates the menu item 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 menu 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 the menu items.
RadMenu supports binding to an ObjectDataSource as well. In addition to the
standard Menu Item 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, RadMenu can create a hierarchy of Menu Items.
Still, the business objects should provide the data needed for the RadMenu to build the hierarchy.
If the ParentID property of the business objects are of nullable or reference type, then null values
denote root Menu Items. In case, the ParentID property is of value type (Integer, Guid, etc.), '0'/'Guid.Empty'
values denote the root Menu Items.
For more details on the aforementioned algorithm, please read the documentation topic -
Binding to object-based data sources.