Skip to main content

RangeParametersSettings Class

Provides the nested start and end parameters for a report‘s date range parameter.

Namespace: DevExpress.XtraReports.Parameters

Assembly: DevExpress.Printing.v24.2.Core.dll

NuGet Package: DevExpress.Printing.Core

#Declaration

public class RangeParametersSettings :
    ValueSourceSettings

#Remarks

The RangeParameterSettings class allows you to configure a date range parameter‘s nested start and end date parameters.

Assign a RangeParametersSettings class instance to a parameter’s ValueSourceSettings property to specify that the parameter represents a date range. You can also set the parameter’s ValueSourceSettings property to:

Set the following properties to specify the date range:

Ensure that the parameter’s Type is set to DateTime - otherwise the report generates an error in Print Preview.

If the parameter is visible, an editor allows users to specify a date range in Print Preview. The editor provides a list of predefined date ranges that users can select from.

In WinForms and WPF applications, you can use the RangeParameterEditorOptions static class to customize the list of predefined date ranges.

#Example

The code sample below uses a RangeParametersSettings class instance to create a date range parameter, set the range value to the last 7 days, and filter report data by this range.

using DevExpress.XtraReports.Parameters;
using DevExpress.XtraReports.Expressions;
// ...
XtraReport1 report = new XtraReport1();
// Create a date range parameter.
Parameter myDateRange = new Parameter();
myDateRange.Name = "myDateRange";
myDateRange.Description = "Date Range:";
// Set the Visible property to true to request the parameter value from users.
// Set this property to false to silently apply the parameter's value.
myDateRange.Visible = false;
myDateRange.Type = typeof(System.DateTime);
RangeParametersSettings myDateRangeSettings = new RangeParametersSettings();
myDateRangeSettings.StartParameter.Name = "MyDateRangeStart";
// Set the range parameter's start date to 7 days ago.
myDateRangeSettings.StartParameter.ExpressionBindings.Add(new BasicExpressionBinding("Value", "AddDays(Today(), -7)"));
myDateRangeSettings.EndParameter.Name = "MyDateRangeEnd";
// Set the range parameter's end date to today.
myDateRangeSettings.EndParameter.ExpressionBindings.Add(new BasicExpressionBinding("Value", "Today()"));
myDateRange.ValueSourceSettings = myDateRangeSettings;
report.Parameters.Add(myDateRange);
// Filter report data by the specified start and end dates.
report.FilterString = "GetDate([OrderDate]) Between(?MyDateRangeStart,?MyDateRangeEnd)";

#Inheritance

Object
ValueSourceSettings
RangeParametersSettings
See Also