Skip to main content
A newer version of this page is available. .

DashboardViewer.MasterFilterDefaultValues Event

Allows you to apply default filtering to master filter items.

Namespace: DevExpress.DashboardWin

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

Declaration

public event MasterFilterDefaultValuesEventHandler MasterFilterDefaultValues

Event Data

The MasterFilterDefaultValues event's data class is MasterFilterDefaultValuesEventArgs. The following properties provide information specific to this event:

Property Description
AvailableFilterValues Gets the list of values that can be used to apply filtering.
FilterValues Gets or sets values used to apply default filtering.
ItemComponentName Gets the component name of the dashboard item.
ItemName Gets the dashboard item name.

The event data class exposes the following methods:

Method Description
GetFilterValues() Gets the collection of values that can be used to apply default filtering.
SetFilterValues(IEnumerable<IList>) Specifies values used to apply default filtering.

Remarks

All master filter items (except the RangeFilterDashboardItem) raise the MasterFilterDefaultValues event when the Dashboard control (designer or viewer) loads a dashboard. The RangeFilterDashboardItem raises the RangeFilterDefaultValue event.

Handle this event to reduce the application load time and decrease memory consumption, because the event occurs before the data is loaded.

Follow the steps below to write the correct MasterFilterDefaultValues event handler.

  1. Check the dashboard item’s name. Use the MasterFilterDefaultValuesEventArgs.ItemName or MasterFilterDefaultValuesEventArgs.ItemComponentName properties.
  2. Select required filter values from the available filter values. Use the MasterFilterDefaultValuesEventArgs.AvailableFilterValues property.
  3. Apply the master filter. For this, assign selected filter values to the MasterFilterDefaultValuesEventArgs.FilterValues property or call the MasterFilterDefaultValuesEventArgs.SetFilterValues method.

Example

This example demonstrates how to initialize master filter in a dashboard loaded in the DashboardViewer control. The code for the DashboardDesigner control is the same, because the DashboardDesigner’s events have the same name and functionality.

The following code initializes master filter items:

Master filter initialization may apply one item’s master filter to another master filter item - a mutual filtering occurs. In that scenario, the MasterFilterDefaultValues event has limitations if the Neutral Filter mode is disabled. Refer to the How to apply default filtering to master filter items that affect each other example for more information.

Note

The complete sample project How to initialize master filters in Dashboard Viewer is available in the DevExpress Examples repository.

using DevExpress.DashboardCommon;
using System;
using System.Linq;

namespace Dashboard_MFDefaultValues
{
    public partial class Form1 : DevExpress.XtraEditors.XtraForm {
        public Form1() {
            InitializeComponent();
            dashboardViewer1.UseNeutralFilterMode = true;
            dashboardViewer1.ConfigureDataConnection += DashboardViewer1_ConfigureDataConnection;
            dashboardViewer1.MasterFilterDefaultValues += DashboardViewer1_MasterFilterDefaultValues;
            dashboardViewer1.RangeFilterDefaultValue += DashboardViewer1_RangeFilterDefaultValue;

            dashboardViewer1.Dashboard = new Dashboard1();
        }

        private void DashboardViewer1_ConfigureDataConnection(object sender, DashboardConfigureDataConnectionEventArgs e)
        {
            ExtractDataSourceConnectionParameters connParameters = e.ConnectionParameters as ExtractDataSourceConnectionParameters;
            connParameters.FileName = "Data\\SalesPerson.dat";
        }

        private void DashboardViewer1_MasterFilterDefaultValues(object sender, MasterFilterDefaultValuesEventArgs e) {
            if (e.ItemComponentName == "gridDashboardItem1") {
                e.FilterValues = e.AvailableFilterValues.Where(v => (string)v["Sales Person"] == "Laura Callahan");
            }
            if (e.ItemComponentName == "treeViewDashboardItem1") {
                e.FilterValues = e.AvailableFilterValues.Where(v => (string)v["Category"] == "Beverages" || 
                    (string)v["Product"] == "Aniseed Syrup");
            }
        }

        private void DashboardViewer1_RangeFilterDefaultValue(object sender, RangeFilterDefaultValueEventArgs e) {
            if (e.DashboardItemName == "rangeFilterDashboardItem1") {
                e.Range = new RangeFilterSelection(new DateTime(2015, 06, 01), new DateTime(2016, 04, 01));
            }
        }
    }
}

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

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.

See Also