DashboardLayoutItem Class

Represents a layout item that displays a dashboard item.

Namespace: DevExpress.DashboardCommon

Assembly: DevExpress.Dashboard.v18.2.Core.dll


public class DashboardLayoutItem :
Public Class DashboardLayoutItem
    Inherits DashboardLayoutNode
    Implements IDashboardLayoutNode

To display a dashboard item within a layout item, pass the DashboardItem descendant to the DashboardLayoutItem constructor.

The DashboardLayoutNode.Weight property allows you to specify the relative size of the created layout item.


The following example demonstrates how to modify dashboard layout in code.

In this example, the DashboardViewer loads a dashboard containing three dashboard items placed vertically, one above the other. The following steps are taken to create a new layout:

  • Three DashboardLayoutItem objects are created to display the existing dashboard items. The weight parameter specifies the layout item's relative size.
  • A new DashboardLayoutGroup is created to display two dashboard items. The Orientation parameter specifies how layout items are placed within the group.
  • A root layout group is created. This group contains the previously created group and another layout item.
  • The root layout group is assigned to the LayoutRoot property.

This example also demonstrates how to swap layout items using the MoveRight(DashboardLayoutNode) method, save and restore the layout using the SaveDashboardLayout(String) and LoadDashboardLayout(String) methods.


The complete sample project How to modify dashboard layout in code is available in the DevExpress Examples repository.

private void ChangeLayout(DashboardToolbarItemClickEventArgs args)
    Dashboard dashboard = new Dashboard();

    // Create layout items used to display dashboard items.
    DashboardLayoutItem item0 = new DashboardLayoutItem(dashboard.Items[0], 35);
    DashboardLayoutItem item1 = new DashboardLayoutItem(dashboard.Items[1], 65);
    DashboardLayoutItem item2 = new DashboardLayoutItem(dashboard.Items[2], 20);
    // Create a layout group that contains two layout items.
    DashboardLayoutGroup group1 =
        new DashboardLayoutGroup(DashboardLayoutGroupOrientation.Horizontal, 80,
            item0, item1);
    // Create a root layout group that contains the previously created group and 
    // another layout item. 
    DashboardLayoutGroup rootGroup =
        new DashboardLayoutGroup(DashboardLayoutGroupOrientation.Vertical, 1,
            group1, item2);
    // Applies the layout to the dashboard.
    dashboard.LayoutRoot = rootGroup;

    dashboardViewer1.Dashboard = dashboard;

private void RepositionItems(DashboardToolbarItemClickEventArgs args)
    Dashboard dashboard = dashboardViewer1.Dashboard;
    DashboardLayoutGroup rootGroup = dashboard.LayoutRoot.ChildNodes[0] as DashboardLayoutGroup;
    if ((rootGroup != null) && (rootGroup.ChildNodes.Count > 1))

private void SaveLayoutToFile(DashboardToolbarItemClickEventArgs args)

private void LoadLayoutFromFile(DashboardToolbarItemClickEventArgs obj)
    if (File.Exists("DashboardLayout.xml"))


See Also