dashboard-devexpress-dot-dashboardcommon-dot-customdashboarditem-1-3883c8b6.md
Gets custom item metadata.
Namespace : DevExpress.DashboardCommon
Assembly : DevExpress.Dashboard.v25.2.Core.dll
NuGet Package : DevExpress.Dashboard.Core
public T Metadata { get; }
Public ReadOnly Property Metadata As T
| Type | Description |
|---|---|
| T |
A CustomItemMetadata class descendant.
|
Metadata defines the data item structure in a custom dashboard item. The Metadata property gets custom item metadata and allows you to change it. You can get the existing data items from metadata properties and add new data items. The DataItem.UniqueId property allows you to get data items from metadata.
The following code snippet shows how to get data items from CustomFunnelMetadata and use them to bind flat data to a Funnel chart series:
using System.Windows.Forms;
using DevExpress.DashboardCommon;
using DevExpress.DashboardWin;
using DevExpress.XtraCharts;
public class CustomFunnelControlProvider : CustomControlProviderBase {
CustomDashboardItem<CustomFunnelMetadata> dashboardItem;
//...
protected override void UpdateControl(CustomItemData customItemData){
chart.Series.Clear();
if(dashboardItem.Metadata.Value != null && dashboardItem.Metadata.Arguments.Count > 0) {
Series series = new Series("A Funnel Series", ViewType.Funnel);
flatData = customItemData.GetFlatData(new DashboardFlatDataSourceOptions() {
AddColoringColumns = true });
series.DataSource = flatData;
series.ValueDataMembers.AddRange(dashboardItem.Metadata.Value.UniqueId);
series.ArgumentDataMember = dashboardItem.Metadata.Arguments.Last().UniqueId;
series.ColorDataMember = flatData.GetColoringColumn(dashboardItem.Metadata.Value.UniqueId).Name;
chart.Series.Add(series);
}
}
}
Imports System.Windows.Forms
Imports DevExpress.DashboardCommon
Imports DevExpress.DashboardWin
Imports DevExpress.XtraCharts
Public Class CustomFunnelControlProvider
Inherits CustomControlProviderBase
Private dashboardItem As CustomDashboardItem(Of CustomFunnelMetadata)
'...
Protected Overrides Sub UpdateControl(ByVal customItemData As CustomItemData)
chart.Series.Clear()
If dashboardItem.Metadata.Value IsNot Nothing AndAlso dashboardItem.Metadata.Arguments.Count > 0 Then
Dim series As New Series("A Funnel Series", ViewType.Funnel)
flatData = customItemData.GetFlatData(New DashboardFlatDataSourceOptions() With {.AddColoringColumns = True})
series.DataSource = flatData
series.ValueDataMembers.AddRange(dashboardItem.Metadata.Value.UniqueId)
series.ArgumentDataMember = dashboardItem.Metadata.Arguments.Last().UniqueId
series.ColorDataMember = flatData.GetColoringColumn(dashboardItem.Metadata.Value.UniqueId).Name
chart.Series.Add(series)
End If
End Sub
End Class
See Also