DashboardDesigner.SetDashboardState(DashboardState) Method
Applies the dashboard state to the loaded dashboard.
Namespace: DevExpress.DashboardWin
Assembly: DevExpress.Dashboard.v19.1.Win.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
state | DashboardState | A DashboardState object that contains the dashboard state information. |
Remarks
Refer to the Manage Dashboard State document for more information about a dashboard state.
Example
Note
The complete sample project How to Set the Initial Dashboard State in the WinForms Designer is available in the DevExpress Examples repository.
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 {
DashboardState dState = new DashboardState();
const string path = @"..\..\Dashboards\dashboardWithSavedState.xml";
public DesignerForm1() {
InitializeComponent();
dashboardDesigner.DashboardLoaded += dashboardDesigner_DashboardLoaded;
dashboardDesigner.DashboardClosing += dashboardDesigner_DashboardClosing;
dashboardDesigner.SetInitialDashboardState += dashboardDesigner_SetInitialDashboardState;
dashboardDesigner.CreateRibbon();
dashboardDesigner.LoadDashboard(path);
}
private void dashboardDesigner_DashboardLoaded(object sender,
DevExpress.DashboardWin.DashboardLoadedEventArgs e) {
XElement data = e.Dashboard.UserData;
if(data != null) {
if(data.Element("DashboardState") != null) {
XDocument dStateDocument = XDocument.Parse(data.Element("DashboardState").Value);
dState.LoadFromXml(XDocument.Parse(data.Element("DashboardState").Value));
}
}
}
private void dashboardDesigner_SetInitialDashboardState(object sender,
DevExpress.DashboardWin.SetInitialDashboardStateEventArgs e) {
e.InitialState = dState;
}
private void dashboardDesigner_DashboardClosing(object sender,DevExpress.DashboardWin.DashboardClosingEventArgs e) {
dState = dashboardDesigner.GetDashboardState();
XElement userData = new XElement("Root",
new XElement("DateModified",DateTime.Now),
new XElement("DashboardState",dState.SaveToXml().ToString(SaveOptions.DisableFormatting)));
dashboardDesigner.Dashboard.UserData = userData;
dashboardDesigner.Dashboard.SaveToXml(path);
}
}
}
See Also