New to Telerik UI for ASP.NET AJAXStart a free 30-day trial

Node Size

How to change the size of some nodes?

In case you would like to set a different size of a node, you can change it by adding a specific CssClass to the node or groupItem. radorgchart-node-size 1

This appearance can be achieved in the NodeDataBound event by association the index as it is shown in the following code:

  • In Simple Binding:
ASPNET
<style type="text/css"> 
	.newItemSizeSimple
	{
		width:150px !important;
		height:160px !important;
	}

	.newItemSizeSimple .rocItemContent
	{
		height:140px !important;
	}
</style>
  <telerik:RadOrgChart RenderMode="Lightweight" runat="server" ID="RadOrgChart1"
    OnNodeDataBound="RadOrgChart1_NodeDataBound">
</telerik:RadOrgChart>
C#
protected void RadOrgChart1_NodeDataBound(object sender, Telerik.Web.UI.OrgChartNodeDataBoundEventArguments e)
{
    if (e.Node.ID == "2")
        foreach (var groupItem in e.Node.GroupItems)
            groupItem.CssClass = "newItemSizeSimple";
}


protected void Page_Init(object sender, EventArgs e)
{
    DataTable table = new DataTable();
    table.Columns.Add("ID");
    table.Columns.Add("ParentID");
    table.Columns.Add("Text");

    table.Rows.Add(new String[] { "1", null, "Item 1" });
    table.Rows.Add(new String[] { "2", "1", "Item 1 0" });
    table.Rows.Add(new String[] { "3", "1", "Item 1 1" });
    table.Rows.Add(new String[] { "4", "1", "Item 1 2" });
    table.Rows.Add(new String[] { "5", "2", "Item 1 0 1" });


    RadOrgChart1.DataFieldID = "ID";
    RadOrgChart1.DataFieldParentID = "ParentID";
    RadOrgChart1.DataTextField = "Text";
    RadOrgChart1.DataSource = table;
    RadOrgChart1.DataBind();

}	
  • In Group-Enabled Binding:

    radorgchart-node-size 2

ASPNET
<style type="text/css"> 
	 .newItemSizeGroup .rocItem
	{
		width:150px !important;
		height:80px !important;
	}

.newItemSizeGroup .rocItemContent
{
    height:60px !important;
}
 </style>
<telerik:RadOrgChart RenderMode="Lightweight" runat="server" ID="RadOrgChart2"
    OnNodeDataBound="RadOrgChart2_NodeDataBound">
</telerik:RadOrgChart>
C#
protected void RadOrgChart2_NodeDataBound(object sender, Telerik.Web.UI.OrgChartNodeDataBoundEventArguments e)
{
    if (e.Node.ID == "2")
        foreach (var groupItem in e.Node.GroupItems)
            groupItem.CssClass = "newItemSizeGroup";
}
protected void Page_Init(object sender, EventArgs e)
{
    DataTable table = new DataTable();
    table.Columns.Add("ID");
    table.Columns.Add("ParentID");
    table.Columns.Add("Text");

    table.Rows.Add(new String[] { "1", null, "Item 1" });
    table.Rows.Add(new String[] { "2", "1", "Item 1 0" });
    table.Rows.Add(new String[] { "3", "1", "Item 1 1" });
    table.Rows.Add(new String[] { "4", "1", "Item 1 2" });
    table.Rows.Add(new String[] { "5", "2", "Item 1 0 1" });

    DataTable items = new DataTable();
    items.Columns.Add("ID");
    items.Columns.Add("NodeID");
    items.Columns.Add("Text");

    items.Rows.Add(new String[] { "1", "1", "Item 1" });
    items.Rows.Add(new String[] { "2", "2", "Item 1 0" });
    items.Rows.Add(new String[] { "3", "2", "Item 1 0 1" });
    items.Rows.Add(new String[] { "4", "3", "Item 1 1" });
    items.Rows.Add(new String[] { "5", "4", "Item 1 2" });
    items.Rows.Add(new String[] { "6", "5", "Item 1 0 0" });
    items.Rows.Add(new String[] { "7", "5", "Item 1 0 0 1" });


    RadOrgChart2.GroupEnabledBinding.GroupItemBindingSettings.DataFieldID = "ID";
    RadOrgChart2.GroupEnabledBinding.GroupItemBindingSettings.DataFieldNodeID = "NodeID";
    RadOrgChart2.GroupEnabledBinding.GroupItemBindingSettings.DataTextField = "Text";
    RadOrgChart2.GroupEnabledBinding.GroupItemBindingSettings.DataSource = items;

    RadOrgChart2.GroupEnabledBinding.NodeBindingSettings.DataFieldID = "ID";
    RadOrgChart2.GroupEnabledBinding.NodeBindingSettings.DataFieldParentID = "ParentID";
    RadOrgChart2.GroupEnabledBinding.NodeBindingSettings.DataSource = table;
    RadOrgChart2.DataBind();
}