SeriesBase.FilterCriteria Property
Gets or sets the current filter criteria.
Namespace: DevExpress.XtraCharts
Assembly: DevExpress.XtraCharts.v24.1.dll
NuGet Package: DevExpress.Charts
Declaration
[NonTestableProperty]
[TypeConverter(typeof(FilterCriteriaTypeConverter))]
[XtraChartsLocalizableCategory(XtraChartsCategory.Data)]
[XtraSerializableProperty(XtraSerializationVisibility.Hidden)]
public CriteriaOperator FilterCriteria { get; set; }
Property Value
Type | Description |
---|---|
CriteriaOperator | The current filter criteria. |
Remarks
Use the FilterCriteria property to create a filter expression that consists of multiple conditions applied to multiple data columns, and apply it to the series’ data. Setting the FilterCriteria property to a new value clears any filters that have been previously applied.
Note that the FilterCriteria and SeriesBase.FilterString properties are dependent. If you update one of them, the other changes as well.
Use a CriteriaOperator descendants to specify the FilterCriteria property. Refer to Criteria Operators for more information.
Series series = chartControl1.Series[0];
series.FilterCriteria = new BinaryOperator("CategoryID", 1, BinaryOperatorType.Equal) |
new BinaryOperator("CategoryID", 3, BinaryOperatorType.Equal) |
new BinaryOperator("CategoryID", 7, BinaryOperatorType.Equal);
Alternatively, you can use the SeriesBase.FilterString property to pass a filter expression. Refer to Criteria Language Syntax for more information.
Series series = chartControl1.Series[0];
series.FilterString = "CategoryID = 1 Or CategoryID = 3 Or CategoryID = 7";
You can also use the CriteriaOperator.Parse method to convert a filter string to its CriteriaOperator equivalent as follows:
Series series = chartControl1.Series[0];
series.FilterCriteria = CriteriaOperator.Parse("CategoryID = 1 Or CategoryID = 3 Or CategoryID = 7");
Example
To filter a data series using a criteria that FilterControl provides, assign the FilterControl.FilterCriteria property value to the SeriesBase.FilterCriteria
property.
private void Form1_Load(object sender, EventArgs e) {
filterControl.SourceControl = Products;
filterControl.FilterString = "Contains([CategoryName], 'Condiments')";
ProductSeries.DataSource = Products;
ProductSeries.ArgumentDataMember = "ProductName";
ProductSeries.ValueDataMembers.AddRange("UnitPrice");
ProductSeries.FilterCriteria = filterControl.FilterCriteria;
}
private void filterControl1_FilterChanged(object sender, DevExpress.XtraEditors.FilterChangedEventArgs e) {
// Because of Filter Control recreates its FilterCriteria,
// the criteria should be reassigned to the SeriesBase.FilterCriteria property.
ProductSeries.FilterCriteria = filterControl.FilterCriteria;
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the FilterCriteria 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.