Back to Devexpress

DashboardViewer.GetItemDataAsync(String) Method

dashboard-devexpress-dot-dashboardwin-dot-dashboardviewer-dot-getitemdataasync-x28-system-dot-string-x29.md

latest5.5 KB
Original Source

DashboardViewer.GetItemDataAsync(String) Method

Obtains the displayed data for the specified dashboard item asynchronously.

Namespace : DevExpress.DashboardWin

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

NuGet Package : DevExpress.Win.Dashboard

Declaration

csharp
public Task<MultiDimensionalData> GetItemDataAsync(
    string dashboardItemName
)
vb
Public Function GetItemDataAsync(
    dashboardItemName As String
) As Task(Of MultiDimensionalData)

Parameters

NameTypeDescription
dashboardItemNameString

A String that specifies the component name of the dashboard item.

|

Returns

TypeDescription
Task<MultiDimensionalData>

The task object that is the asynchronous operation to get the data visualized in the dashboard item.

|

Example

This example demonstrates how to get the data displayed in the dashboard item asynchronously when the dashboard is loaded.

The labels at the top display the data row count for the specified dashboard item.

csharp
using DevExpress.DashboardCommon;
using DevExpress.XtraEditors;
using System;
using System.Threading.Tasks;

namespace DataCounterExample
{
    public partial class ViewerForm1 : XtraForm {
        public ViewerForm1() {
            InitializeComponent();
            dashboardViewer1.Initialized += OnDashboardViewerInitialized;
            dashboardViewer1.MasterFilterSet += OnDashboardViewerMasterFilterSet;
            dashboardViewer1.MasterFilterCleared += OnDashboardViewerMasterFilterCleared;
        }

        async void OnDashboardViewerInitialized(object sender, EventArgs e) {
            simpleLabelItem1.Text = await GetLabelText("choroplethMapDashboardItem1", "Map");
            simpleLabelItem2.Text = await GetLabelText("gridDashboardItem1", "Grid");
        }

        async void OnDashboardViewerMasterFilterSet(object sender, MasterFilterSetEventArgs e) {
            simpleLabelItem2.Text = await GetLabelText("gridDashboardItem1", "Grid");
        }

        async void OnDashboardViewerMasterFilterCleared(object sender, MasterFilterClearedEventArgs e) {
            simpleLabelItem2.Text = await GetLabelText("gridDashboardItem1", "Grid");
        }

        async Task<string> GetLabelText(string itemName, string itemCaption) {
            var data = await dashboardViewer1.GetItemDataAsync(itemName);
            int count = data.GetAxisPoints(data.GetAxisNames()[0]).Count;
            return string.Format("{0}: {1}", itemCaption, count);
        }
    }
}
vb
Imports DevExpress.DashboardCommon
Imports DevExpress.XtraEditors
Imports System
Imports System.Threading.Tasks

Namespace DataCounterExample
    Partial Public Class ViewerForm1
        Inherits XtraForm

        Public Sub New()
            InitializeComponent()
            AddHandler dashboardViewer1.Initialized, AddressOf OnDashboardViewerInitialized
            AddHandler dashboardViewer1.MasterFilterSet, AddressOf OnDashboardViewerMasterFilterSet
            AddHandler dashboardViewer1.MasterFilterCleared, AddressOf OnDashboardViewerMasterFilterCleared
        End Sub

        Private Async Sub OnDashboardViewerInitialized(ByVal sender As Object, ByVal e As EventArgs)
            simpleLabelItem1.Text = Await GetLabelText("choroplethMapDashboardItem1", "Map")
            simpleLabelItem2.Text = Await GetLabelText("gridDashboardItem1", "Grid")
        End Sub

        Private Async Sub OnDashboardViewerMasterFilterSet(ByVal sender As Object, ByVal e As MasterFilterSetEventArgs)
            simpleLabelItem2.Text = Await GetLabelText("gridDashboardItem1", "Grid")
        End Sub

        Private Async Sub OnDashboardViewerMasterFilterCleared(ByVal sender As Object, ByVal e As MasterFilterClearedEventArgs)
            simpleLabelItem2.Text = Await GetLabelText("gridDashboardItem1", "Grid")
        End Sub

        Private Async Function GetLabelText(ByVal itemName As String, ByVal itemCaption As String) As Task(Of String)
            Dim data = Await dashboardViewer1.GetItemDataAsync(itemName)
            Dim count As Integer = data.GetAxisPoints(data.GetAxisNames()(0)).Count
            Return String.Format("{0}: {1}", itemCaption, count)
        End Function
    End Class
End Namespace

Implements

GetItemDataAsync(String)

See Also

Asynchronous Mode

DashboardViewer Class

DashboardViewer Members

DevExpress.DashboardWin Namespace