Skip to main content

DashboardDesigner.RangeFilterPredefinedDateTimePeriods Event

Allows you to customize the list of predefined periods in the Edit Periods dialog for the Range Filter dashboard item.

Namespace: DevExpress.DashboardWin

Assembly: DevExpress.Dashboard.v24.1.Win.dll

NuGet Package: DevExpress.Win.Dashboard

Declaration

public event RangeFilterPredefinedDateTimePeriodsEventHandler RangeFilterPredefinedDateTimePeriods

Event Data

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

Property Description
FilterType Gets the filter type specified in the Edit Periods dialog.
ItemComponentName Gets the component name of the dashboard item for which the event was raised.
Periods Provides access to a collection of predefined periods displayed in the Edit Periods dialog.

Example

This example shows how to use the DashboardDesigner.RangeFilterPredefinedDateTimePeriods event to customize a default list of predefined periods from the Edit Periods dialog. Note that this list is customized when filtering by year is applied in the dialog.

    using DevExpress.DashboardCommon;        
      //...           
    private void dashboardDesigner_RangeFilterPredefinedDateTimePeriods(object sender, RangeFilterPredefinedDateTimePeriodsEventArgs e) {
            if (e.ItemComponentName == "range" && e.FilterType == DateTimePeriodFilterType.Year) {
                // Creates a new 'Last 4 Years' period.
                FlowDateTimePeriodLimit startDate = new FlowDateTimePeriodLimit(DateTimeInterval.Year, -4);
                FlowDateTimePeriodLimit endDate = new FlowDateTimePeriodLimit(DateTimeInterval.Year, 0);
                DateTimePeriod period = new DateTimePeriod("Last 4 Years", startDate, endDate);
                e.Periods.Insert(3, period);

                // Removes the default 'Last Year' period.
                period = e.Periods.FirstOrDefault(p => p.Name == DashboardWinLocalizer.GetString(DashboardWinStringId.PeriodLastYear));
                e.Periods.Remove(period);
            }
        }
See Also