Back to Devexpress

DashboardItemControlEventArgs Class

dashboard-devexpress-dot-dashboardwin-90e36b45.md

latest12.3 KB
Original Source

DashboardItemControlEventArgs Class

Provides data for events related to controls used to visualize data in dashboard items.

Namespace : DevExpress.DashboardWin

Assembly : DevExpress.Dashboard.v25.2.Win.dll

NuGet Package : DevExpress.Win.Dashboard

Declaration

csharp
public class DashboardItemControlEventArgs :
    EventArgs
vb
Public Class DashboardItemControlEventArgs
    Inherits EventArgs

DashboardItemControlEventArgs is the data class for the following events:

Remarks

The WinForms Viewer uses DevExpress WinForms controls to visualize data within dashboard items. The DashboardViewer.DashboardItemControlUpdated event allows you to access these controls and customize their settings if necessary.

The DashboardItemControlEventArgs.DashboardItemName property returns the component name of the dashboard item to be customized. Use the following properties to access the corresponding underlying controls.

|

Dashboard Item

|

Control

|

Property

| | --- | --- | --- | |

GridDashboardItem

|

GridControl

|

DashboardItemControlEventArgs.GridControl

| |

ChartDashboardItem

PieDashboardItem

ScatterChartDashboardItem

|

ChartControl

|

DashboardItemControlEventArgs.ChartControl

| |

GaugeDashboardItem

|

GaugeControl

|

DashboardItemControlEventArgs.GaugeControl

| |

CardDashboardItem

|

CardControl

|

DashboardItemControlEventArgs.CardControl

| |

PivotDashboardItem

|

PivotGridControl

|

DashboardItemControlEventArgs.PivotGridControl

| |

MapDashboardItem

|

MapControl

|

DashboardItemControlEventArgs.MapControl

| |

TreemapDashboardItem

|

TreeMapControl

|

DashboardItemControlEventArgs.TreeMapControl

| |

TextBoxDashboardItem

|

RichEditControl

|

DashboardItemControlEventArgs.RichEditControl

| |

ImageDashboardItem

|

PictureEdit

|

DashboardItemControlEventArgs.PictureEdit

| |

DateFilterDashboardItem

|

DateFilterControl

|

DashboardItemControlEventArgs.DateFilterControl

|

You can change the control setting or handle its events. To subscribe/unsubscribe from control events, use the DashboardViewer.DashboardItemControlCreated/DashboardViewer.DashboardItemBeforeControlDisposed events, respectively.

Example

The following example demonstrates how to customize controls used to visualize data within dashboard items at runtime using DashboardViewer‘s API.

In this example, the following options are changed:

View Example

vb
Imports System.Drawing
Imports DevExpress.XtraEditors
Imports DevExpress.DashboardWin
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraCharts
Imports DevExpress.XtraPivotGrid

Namespace Dashboard_ControlAccess
    Partial Public Class Form1
        Inherits XtraForm

        Public Sub New()
            InitializeComponent()
            dashboardViewer1.LoadDashboard("..\..\Data\Dashboard.xml")
        End Sub

        Private Sub dashboardViewer1_DashboardItemControlCreated(ByVal sender As Object, ByVal e As DashboardItemControlEventArgs) Handles dashboardViewer1.DashboardItemControlCreated
            If e.DashboardItemName = "pivotDashboardItem1" Then
                Dim pivotGridControl As PivotGridControl = e.PivotGridControl
                AddHandler pivotGridControl.CustomCellValue, AddressOf pivotGridControl_CustomCellValue
            End If
        End Sub

        Private Sub pivotGridControl_CustomCellValue(ByVal sender As Object, ByVal e As PivotCellValueEventArgs)
            If e.Value IsNot Nothing AndAlso DirectCast(e.Value, Decimal) < 2000 Then
                e.Value = "Too low to show"
            End If
        End Sub

        Private Sub dashboardViewer1_DashboardItemControlUpdated(ByVal sender As Object, ByVal e As DashboardItemControlEventArgs) Handles dashboardViewer1.DashboardItemControlUpdated
            If e.DashboardItemName = "gridDashboardItem1" Then
                Dim gridView As GridView = TryCast(e.GridControl.MainView, GridView)
                gridView.Appearance.Row.Font = New Font("Segoe Script", 10)
            End If
            If e.DashboardItemName = "chartDashboardItem1" Then
                Dim chartControl As ChartControl = e.ChartControl
                CType(chartControl.Diagram, XYDiagram).Panes(0).BackColor = Color.Orange
            End If
        End Sub

        Private Sub dashboardViewer1_DashboardItemBeforeControlDisposed(ByVal sender As Object, ByVal e As DashboardItemControlEventArgs) Handles dashboardViewer1.DashboardItemBeforeControlDisposed
            If e.DashboardItemName = "pivotDashboardItem1" Then
                Dim pivotGridControl As PivotGridControl = e.PivotGridControl
                RemoveHandler pivotGridControl.CustomCellValue, AddressOf pivotGridControl_CustomCellValue
            End If
        End Sub
    End Class
End Namespace
csharp
using System.Drawing;
using DevExpress.XtraEditors;
using DevExpress.DashboardWin;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraCharts;
using DevExpress.XtraPivotGrid;

namespace Dashboard_ControlAccess {
    public partial class Form1 : XtraForm {
        public Form1() {
            InitializeComponent();
            dashboardViewer1.LoadDashboard(@"..\..\Data\Dashboard.xml");
        }

        private void dashboardViewer1_DashboardItemControlCreated(object sender, 
            DashboardItemControlEventArgs e) {
            if (e.DashboardItemName == "pivotDashboardItem1") {
                PivotGridControl pivotGridControl = e.PivotGridControl;
                pivotGridControl.CustomCellValue += pivotGridControl_CustomCellValue;
            }
        }

        void pivotGridControl_CustomCellValue(object sender, PivotCellValueEventArgs e) {
            if (e.Value != null && (decimal)e.Value < 2000)
                e.Value = "Too low to show";
        }

        private void dashboardViewer1_DashboardItemControlUpdated(object sender, 
            DashboardItemControlEventArgs e) {
            if (e.DashboardItemName == "gridDashboardItem1") {
                GridView gridView = e.GridControl.MainView as GridView;
                gridView.Appearance.Row.Font = new Font("Segoe Script", 10);
            }
            if (e.DashboardItemName == "chartDashboardItem1") {
                ChartControl chartControl = e.ChartControl;                
                ((XYDiagram)chartControl.Diagram).Panes[0].BackColor = Color.Orange;
            }
        }

        private void dashboardViewer1_DashboardItemBeforeControlDisposed(object sender, 
            DashboardItemControlEventArgs e) {
            if (e.DashboardItemName == "pivotDashboardItem1") {
                PivotGridControl pivotGridControl = e.PivotGridControl;
                pivotGridControl.CustomCellValue -= pivotGridControl_CustomCellValue;
            }
        }
    }
}

Inheritance

Object EventArgs DashboardItemControlEventArgs

See Also

DashboardItemControlEventArgs Members

DevExpress.DashboardWin Namespace