Automatic Data Binding
- 2 minutes to read
Menu has a built-in ability to automatically retrieve data from a data source that supports the IHierarchicalEnumerable or IHierarchicalDataSource interface. This topic describes the conditions that allow a Menu to bind automatically.
A Menu can recognize data items and retrieve some item characteristics from the data fields named in a specific way. If however, any of the data-related properties of a Menu (such as TextField, ImageUrlField, etc.) have been set, then the mapping of the associated object properties will proceed according to Data Binding Using Mapping Properties.
Data fields and item properties name match
During binding, a Menu implements its automatic binding ability by retrieving item characteristics from those data fields whose names coincide with certain property names of a MVCxMenuItem object. The tables below list the names of the object properties that can be mapped during automatic binding, and the matching data field names you should use in the data source for mapping to work.
|Data field names||Item properties that can be set automatically|
|BeginGroup||MenuItem.BeginGroup (via MVCxMenuItem.BeginGroup)|
|Checked||MenuItem.Checked (via MVCxMenuItem.Checked)|
|Enabled||MenuItem.Enabled (via MVCxMenuItem.Enabled)|
|GroupName||MenuItem.GroupName (via MVCxMenuItem.GroupName)|
|ImageUrl||ImagePropertiesBase.Url (via MVCxMenuItem.Image.Url)|
|Name||MenuItem.Name (via MVCxMenuItem.Name)|
|NavigateUrl||MenuItem.NavigateUrl (via MVCxMenuItem.NavigateUrl)|
|Selected||MenuItem.Selected (via MVCxMenuItem.Selected)|
|Target||MenuItem.Target (via MVCxMenuItem.Target)|
|Text||MenuItem.Text (via MVCxMenuItem.Text)|
|ToolTip||MenuItem.ToolTip (via MVCxMenuItem.ToolTip)|
|VisibleIndex||MenuItem.VisibleIndex (via MVCxMenuItem.VisibleIndex)|
The following image illustrates the process of data retrieval during automatic binding to a particular type of data source - XmlDataSource.
Binding to a Site Map
Since the properties of a SiteMapNode object have specific names, a Menu is designed to automatically bind to a Site Map source with node attributes of similar names. In the binding process, corresponding properties of individual MVCxMenuItem objects are automatically associated with these item attributes, and mapped accordingly. See the table below for name correspondence.
|Site Map node attributes||Corresponding Item object properties|
The structure of a Site Map allows some flexibility in the naming of item attributes. After a Menu detects the item attributes named title, url and description in the bound Site Map source, the conditions described in the above section apply.