DashboardDesigner.SetInitialDashboardState Event
Allows you to specify the initial dashboard state when loading a dashboard.
Namespace: DevExpress.DashboardWin
Assembly: DevExpress.Dashboard.v24.2.Win.dll
Declaration
Event Data
The SetInitialDashboardState event's data class is SetInitialDashboardStateEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Dashboard | A dashboard whose state can be initialized. Inherited from SetInitialDashboardStateBaseEventArgs. |
InitialState | Gets or sets the dashboard initial state. Inherited from SetInitialDashboardStateBaseEventArgs. |
Remarks
Refer to the Manage Dashboard State document for more information about a dashboard state.
Example
The following code snippet shows how to save and restore a dashboard state for WinForms Dashboard Designer:
using DevExpress.DashboardCommon;
using System;
using System.Xml.Linq;
namespace WinDesignerDashboardState
{
public partial class DesignerForm1: DevExpress.XtraBars.Ribbon.RibbonForm {
public static readonly string PropertyName = "DashboardState";
const string path = @"..\..\Dashboards\dashboardWithSavedState.xml";
public DesignerForm1() {
InitializeComponent();
dashboardDesigner.DashboardClosing += dashboardDesigner_DashboardClosing;
dashboardDesigner.SetInitialDashboardState += dashboardDesigner_SetInitialDashboardState;
dashboardDesigner.CreateRibbon();
dashboardDesigner.LoadDashboard(path);
}
DashboardState GetDataFromString(string customPropertyValue) {
DashboardState dState = new DashboardState();
if(!string.IsNullOrEmpty(customPropertyValue)) {
var xmlStateEl = XDocument.Parse(customPropertyValue);
dState.LoadFromXml(xmlStateEl);
}
return dState;
}
private void dashboardDesigner_SetInitialDashboardState(object sender,
DevExpress.DashboardWin.SetInitialDashboardStateEventArgs e) {
var state = GetDataFromString(dashboardDesigner.Dashboard.CustomProperties.GetValue(PropertyName));
e.InitialState = state;
}
private void dashboardDesigner_DashboardClosing(object sender,DevExpress.DashboardWin.DashboardClosingEventArgs e) {
var dState = dashboardDesigner.GetDashboardState();
var stateValue = dState.SaveToXml().ToString(SaveOptions.DisableFormatting);
dashboardDesigner.Dashboard.CustomProperties.SetValue("DashboardState", stateValue);
dashboardDesigner.Dashboard.SaveToXml(path);
}
}
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the SetInitialDashboardState event.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.