Skip to main content

XtraReport.Parameters Property

Provides access to a report’s collection of parameters.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v22.1.dll

Declaration

[SRCategory(ReportStringId.CatParameters)]
[PropertyGridTab(ReportStringId.UD_PropertyGrid_TabData)]
public ParameterCollection Parameters { get; }

Property Value

Type Description
ParameterCollection

A collection of report parameters.

Remarks

Each parameter in ParameterCollection is a Parameter object.

If the parameter is visible, Preview displays the Parameters panel to allow users to specify a parameter value (or multiple values, if the parameter’s MultiValue property is enabled).

The parameter’s Type property defines the parameter type. A specific value editor is displayed in the Parameters panel depending on the parameter type.

Disable the report’s RequestParameters property to render the report in Preview without waiting for user input.

Tip

To refer to a parameter in mail merge or within a calculated field‘s expression, specify the parameter name after the question mark (?):

?parameter_Name

Example

This example demonstrates how to create a report with a parameter at runtime.

After a parameter is added to a report, its value can be used in the report’s filter string or displayed in a Label control.

In Preview, users can modify the parameter value in the Parameters panel.

using System;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Parameters;
// ...

// Create a report instance.
XtraReport report = new XtraReport();

// Create a parameter and specify its name.
Parameter parameter1 = new Parameter();
parameter1.Name = "CategoryID";

// Specify other parameter properties.
parameter1.Type = typeof(System.Int32);
parameter1.Value = 1;
parameter1.Description = "Category: ";
parameter1.Visible = true;

// Add the parameter to the report.
report.Parameters.Add(parameter1);

// Specify the report's filter string.
report.FilterString = "[CategoryID] = ?CategoryID";

// Force the report creation without previously 
// requesting the parameter value from end users.
report.RequestParameters = false;

// To access a parameter from the report's Parameters collection,
// you can either use the parameter's ID
// or the parameter name.
// Both lines below have the same effect: the parameter value is set to 5.
report.Parameters[0].Value = 5;
report.Parameters["CategoryID"].Value = 5;

// Show the parameter's value on a Report Header band.
XRLabel label = new XRLabel();
label.ExpressionBindings.Add(new ExpressionBinding("Text", "'Category: ' + ?CategoryID"));
ReportHeaderBand reportHeader = new ReportHeaderBand();
reportHeader.Controls.Add(label);
report.Bands.Add(reportHeader);

// Assign the report to a ReportPrintTool,
// to hide the Parameters panel,
// and show the report's print preview.
ReportPrintTool reportPrintTool = new ReportPrintTool(report);
reportPrintTool.ShowPreviewDialog();

The following online examples illustrate how to create multi-value parameters in code:

View Example: How to assign multiple values to a report parameter View Example: How to assign multiple values to a report parameter from a connected data source

See Also