Back to Devexpress

CustomizeDashboardCaptionBaseEventArgs.FilterText Property

dashboard-devexpress-dot-dashboardwin-dot-customizedashboardcaptionbaseeventargs-55b72cf7.md

latest9.5 KB
Original Source

CustomizeDashboardCaptionBaseEventArgs.FilterText Property

Gets or sets the text displayed in the dashboard title or in the dashboard item caption. The text identifies a single master filter value applied to the dashboard.

Namespace : DevExpress.DashboardWin

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

NuGet Package : DevExpress.Win.Dashboard

Declaration

csharp
public string FilterText { get; set; }
vb
Public Property FilterText As String

Property Value

Type
String

Remarks

The following image demonstrates the location of a text obtained from the FilterText value. The text is displayed in the dashboard title if a master filter contains a single filter value. In the picture, it equals the state New Hampshire.

Handle the DashboardViewer.CustomizeDashboardTitle and DashboardDesigner.CustomizeDashboardTitle events to specify the text displayed in the dashboard title.

Handle the DashboardViewer.CustomizeDashboardItemCaption and DashboardDesigner.CustomizeDashboardItemCaption events to specify the text displayed in the dashboard item caption.

Example

This following code snippet calculates a total value (distinct count) for a hidden measure and display it in the dashboard item’s caption.

csharp
using DevExpress.DashboardCommon;
using DevExpress.DashboardCommon.ViewerData;
using DevExpress.DashboardWin;
using System.Data;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace CalculateHIddenTotalsExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            dashboardViewer1.CalculateHiddenTotals = true;
            dashboardViewer1.ConfigureDataConnection += DashboardViewer1_ConfigureDataConnection;
            dashboardViewer1.CustomizeDashboardItemCaption += DashboardViewer1_CustomizeDashboardItemCaption;

            // Load the dashboard after all DashboardViewer options are set.
            dashboardViewer1.DashboardSource = typeof(Dashboard1);
        }
        private void DashboardViewer1_CustomizeDashboardItemCaption(object sender, CustomizeDashboardItemCaptionEventArgs e)
        {
            DashboardViewer viewer = (DashboardViewer)sender;
            if (e.DashboardItemName == "pieDashboardItem1")
            {
                DashboardToolbarItem infoButton = new DashboardToolbarItem();
                MultiDimensionalData mData = viewer.GetItemData(e.DashboardItemName);
                var orderCount = mData.GetValue(mData.GetMeasures().Where(m => m.DataMember == "OrderID").First()).Value ?? 0;
                e.FilterText += string.Format("{0:N0} distinct orders are displayed", orderCount);
            }
        }

        private void DashboardViewer1_ConfigureDataConnection(object sender, DashboardConfigureDataConnectionEventArgs e)
        {
            ExtractDataSourceConnectionParameters parameters = e.ConnectionParameters as ExtractDataSourceConnectionParameters;
            if (parameters != null) parameters.FileName = Path.GetFileName(parameters.FileName);
        }

    }
}
vb
Imports DevExpress.DashboardCommon
Imports DevExpress.DashboardCommon.ViewerData
Imports DevExpress.DashboardWin
Imports System.Data
Imports System.IO
Imports System.Linq
Imports System.Windows.Forms

Namespace CalculateHIddenTotalsExample
    Partial Public Class Form1
        Inherits Form

        Public Sub New()
            InitializeComponent()
            dashboardViewer1.CalculateHiddenTotals = True
            AddHandler dashboardViewer1.ConfigureDataConnection, AddressOf DashboardViewer1_ConfigureDataConnection
            AddHandler dashboardViewer1.CustomizeDashboardItemCaption, AddressOf DashboardViewer1_CustomizeDashboardItemCaption

            ' Load the dashboard after all DashboardViewer options are set.
            dashboardViewer1.DashboardSource = GetType(Dashboard1)
        End Sub
        Private Sub DashboardViewer1_CustomizeDashboardItemCaption(ByVal sender As Object, ByVal e As CustomizeDashboardItemCaptionEventArgs)
            Dim viewer As DashboardViewer = DirectCast(sender, DashboardViewer)
            If e.DashboardItemName = "pieDashboardItem1" Then
                Dim infoButton As New DashboardToolbarItem()
                Dim mData As MultiDimensionalData = viewer.GetItemData(e.DashboardItemName)
                Dim orderCount = If(mData.GetValue(mData.GetMeasures().Where(Function(m) m.DataMember = "OrderID").First()).Value, 0)
                e.FilterText &= String.Format("{0:N0} distinct orders are displayed", orderCount)
            End If
        End Sub

        Private Sub DashboardViewer1_ConfigureDataConnection(ByVal sender As Object, ByVal e As DashboardConfigureDataConnectionEventArgs)
            Dim parameters As ExtractDataSourceConnectionParameters = TryCast(e.ConnectionParameters, ExtractDataSourceConnectionParameters)
            If parameters IsNot Nothing Then
                parameters.FileName = Path.GetFileName(parameters.FileName)
            End If
        End Sub

    End Class
End Namespace

The following code snippets (auto-collected from DevExpress Examples) contain references to the FilterText property.

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.

winforms-dashboard-designer-custom-interactivity-in-tab-pages/CS/CustomInteractivityExample/Form1.cs#L64

csharp
{
    e.FilterText = string.Format(" {0}", dDesigner.Parameters[0].SelectedValue);
}

winforms-dashboard-customize-title-and-item-captions/CS/CustomizeDashboardItemCaptionExample/ViewerForm1.cs#L85

csharp
if (filterValues.Count > 0)
    e.FilterText = string.Format(" ( Filter: {0})", string.Concat(filterValues.Select(
        axp => string.Format("{0} ", axp.GetAxisPoint(axp.AvailableAxisNames[0]).DisplayText)).ToArray()));

winforms-dashboard-designer-custom-interactivity-in-tab-pages/VB/CustomInteractivityExample/Form1.vb#L54

vb
If Equals(e.DashboardItemName, "chartDashboardItem1") AndAlso dDesigner.Parameters.Count > 0 Then
    e.FilterText = String.Format(" {0}", dDesigner.Parameters(0).SelectedValue)
End If

winforms-dashboard-customize-title-and-item-captions/VB/CustomizeDashboardItemCaptionExample/ViewerForm1.vb#L86

vb
If filterValues.Count > 0 Then
    e.FilterText = String.Format(" ( Filter: {0})", String.Concat(filterValues.Select(Function(axp) String.Format("{0} ", axp.GetAxisPoint(axp.AvailableAxisNames(0)).DisplayText)).ToArray()))
End If

See Also

Title and Item Captions

Dashboard Title in the WinForms Designer

Dashboard Item Caption in the WinForms Designer

CustomizeDashboardCaptionBaseEventArgs Class

CustomizeDashboardCaptionBaseEventArgs Members

DevExpress.DashboardWin Namespace