RadMenu fully supports binding to a wide range of datasources:
- DataSet, DataTable, DataView
- ASP 2.0 DataSource types including
- Hierarchical DataSource components
- Table-based DataSource components
- ObjectDataSource
- Any object that implements the IEnumerable interface
Below are the properties and methods related to data binding:
DataSource - Set to an instance of your data source. This is mandatory when
binding the RadMenu at runtime
DataSourceID - Set to the ID of your data source. This is
mandatory when binding the RadMenu declaratively
DataMember - If the data source is a DataSet and DataMember is set, then
the RadMenu is bound to the DataTable with the respective name in the DataSet. If
DataMember is not set, the RadMenu is bound to the first DataTable in the DataSet
DataFieldID - This is the field name from the data source used to uniquely
identify each row. This field is required when binding to hierarchical data
DataFieldParentID - This is the field name from the data source used to identify
the row for the parent item. This field is required when binding to hierarchical
data
DataTextField - This is the field name from the data source that populates
each item's Text property during binding
DataValueField - This is the field name from the data source that populates
each item's Value property during binding
DataNavigateUrlField - This is the field name from the data source that populates
each item's NavigateUrlField property during binding
DataBind - Call this method after you have set the aforementioned properties
when binding at runtime. This method is mandatory for binding at runtime
MaxDataBindDepth - This property is used to determine the binding depth.
If for example you want to bind only the first two levels of the
menu, you should set this property to 2. The default value of the
MaxDataBindDepth property is -1, which means that
all items will be bound. Marking the menu instance with MaxDataBindDepth="0"
will NOT bind any items.
AppendDataBoundItems - If you bind the menu using the DataBind method, all
menu items are automatically cleared. Setting AppendDataBoundItems to True
preserves the items that are already present in the menu. This lets you bind RadMenu
to multiple data sources or use both unbound and bound modes.
If the data source contains fields that map to other properties of menu items or
to custom attributes, use the ItemDataBound event to set those
values:
[C#]
protected void RadMenu1_ItemDataBound(object sender,
Telerik.Web.UI.RadMenuEventArgs e)
{
e.Item.ToolTip ="Read more about " +
(string) DataBinder.Eval(e.Item.DataItem, "Text");
}
[VB]
Protected Sub RadMenu1_ItemDataBound(ByVal sender As Object, _
ByVal e As Telerik.Web.UI.RadMenuEventArgs) Handles RadMenu1.ItemDataBound
e.Item.ToolTip = "Read more about " + _
CStr(DataBinder.Eval(e.Item.DataItem, "Text"))
End Sub