Edit this page

Group-Enabled Binding

RadOrgChart supports grouping of items. The default (also called "simple") binding gives the ability to bind from self-referenced data. But when groups are required to represent a hierarchy, a single data source wouldn't be a good solution.

RadOrgChart supports binding to hierarchical data including groups as logical entities. This is done with Group-Enabled Binding.

Group-Enabled Binding requires 2 separate data sources - Node Datasource and Item Datasource.

The idea behind this solution is to have as small repetition of data as possible. The Node Datasource contains self-referenced data, so the hiearchical structure can be created. All the data about the items is contained in the Item Datasource. The connection between the two is the NodeID field/column/property of the entities of the Item Datasource.

Here is a sample of a DB design:
radorgchart-group-enabled-binding

And this is how one can bind RadOrgChart to the data:


<telerik:RadOrgChart RenderMode="Lightweight" runat="server" ID="RadOrgChart1">
    <GroupEnabledBinding>
        <NodeBindingSettings DataSourceID="NodesDataSource" DataFieldID="ID" DataFieldParentID="ParentID" />
        <GroupItemBindingSettings DataSourceID="ItemsDataSource" DataFieldID="ID" DataFieldNodeID="NodeID"
            DataTextField="Text" />
    </GroupEnabledBinding>
</telerik:RadOrgChart>

<asp:SqlDataSource ID="ItemsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:RadOrgChartConnectionString %>"
    SelectCommand="SELECT * FROM [Items]"></asp:SqlDataSource>
<asp:SqlDataSource ID="NodesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:RadOrgChartConnectionString %>"
    SelectCommand="SELECT * FROM [Nodes]"></asp:SqlDataSource>

See Also