Skip to main content

XtraReportBase.FilterString Property

Specifies the criteria used to filter data in a report.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v23.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

[DefaultValue("")]
[SRCategory(ReportStringId.CatData)]
public virtual string FilterString { get; set; }

Property Value

Type Default Description
String String.Empty

A String value, specifying the filter criteria.

Remarks

Use the FilterString property to invoke the FilterString Editor that enables you to specify filter criteria.

filter-data-filter-srting-editor

At runtime, the FilterString property must be set before calling the XtraReport.CreateDocument method or any other method that calls it internally (e.g., PrintTool.ShowPreview, PrintTool.ShowPreviewDialog, PrintToolBase.Print, PrintTool.PrintDialog and all exporting methods). Setting this property is appropriate in the following event handlers.

You can also handle the XRControl.BeforePrint event of a specific report band (e.g., the DetailBand). In this event handler, you can access the current data row using the XtraReportBase.GetCurrentRow and XtraReportBase.GetCurrentColumnValue methods and cancel printing of the band under a specific condition using the e.Cancel property.

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

The following code snippets (auto-collected from DevExpress Examples) contain references to the FilterString 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.

See Also