Back to Devexpress

AutoFilterColumn.ApplyCustomFilter(FilterValue, FilterComparisonOperator, FilterValue, FilterComparisonOperator, Boolean) Method

officefileapi-devexpress-dot-spreadsheet-dot-autofiltercolumn-dot-applycustomfilter-x28-filtervalue-filtercomparisonoperator-filtervalue-filtercomparisonoperator-boolean-x29.md

latest10.4 KB
Original Source

AutoFilterColumn.ApplyCustomFilter(FilterValue, FilterComparisonOperator, FilterValue, FilterComparisonOperator, Boolean) Method

Applies a custom filter based on the compound filter expression.

Namespace : DevExpress.Spreadsheet

Assembly : DevExpress.Spreadsheet.v25.2.Core.dll

NuGet Package : DevExpress.Spreadsheet.Core

Declaration

csharp
void ApplyCustomFilter(
    FilterValue firstCriteria,
    FilterComparisonOperator firstCriteriaOperator,
    FilterValue secondCriteria,
    FilterComparisonOperator secondCriteriaOperator,
    bool criterionAnd
)
vb
Sub ApplyCustomFilter(
    firstCriteria As FilterValue,
    firstCriteriaOperator As FilterComparisonOperator,
    secondCriteria As FilterValue,
    secondCriteriaOperator As FilterComparisonOperator,
    criterionAnd As Boolean
)

Parameters

NameTypeDescription
firstCriteriaFilterValue

A FilterValue object that specifies the first filter criterion value.

| | firstCriteriaOperator | FilterComparisonOperator |

A FilterComparisonOperator enumeration member that defines the comparison operator for the first filter criterion.

| | secondCriteria | FilterValue |

A FilterValue object that specifies the second filter criterion value.

| | secondCriteriaOperator | FilterComparisonOperator |

A FilterComparisonOperator enumeration member that defines the comparison operator for the second filter criterion.

| | criterionAnd | Boolean |

A Boolean value indicating whether the logical operator "AND" should be used to combine two filter criteria. If false , the "OR" operator is used.

|

Remarks

Use the ApplyCustomFilter method to filter values by two criteria, as illustrated in the example below.

View Example

csharp
Worksheet worksheet = workbook.Worksheets["Regional sales"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// Enable filtering for the specified cell range.
CellRange range = worksheet["B2:E23"];
worksheet.AutoFilter.Apply(range);

// Filter values in the "Reported Date" column to display dates that are between June 1, 2014 and February 1, 2015.
worksheet.AutoFilter.Columns[3].ApplyCustomFilter(new DateTime(2014, 6, 1), FilterComparisonOperator.GreaterThanOrEqual, new DateTime(2015, 2, 1), FilterComparisonOperator.LessThanOrEqual, true);
vb
Dim worksheet As Worksheet = workbook.Worksheets("Regional sales")
workbook.Worksheets.ActiveWorksheet = worksheet

' Enable filtering for the specified cell range.
Dim range As CellRange = worksheet("B2:E23")
worksheet.AutoFilter.Apply(range)

' Filter the data in the "Product" column by an array of values.
worksheet.AutoFilter.Columns(1).ApplyFilterCriteria(New CellValue() { "Mozzarella di Giovanni", "Gorgonzola Telino" })

You can also use wildcards and the FilterValue.FilterByBlank value to perform more versatile filtering.

View Example

csharp
Worksheet worksheet = workbook.Worksheets["Regional sales"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// Enable filtering for the specified cell range.
CellRange range = worksheet["B2:E23"];
worksheet.AutoFilter.Apply(range);

// Filter values in the "Product" column that contain "Gi" and include empty cells.
AutoFilterColumn products = worksheet.AutoFilter.Columns[1];
products.ApplyCustomFilter("*Gi*", FilterComparisonOperator.Equal, FilterValue.FilterByBlank, FilterComparisonOperator.Equal, false);
vb
Dim worksheet As Worksheet = workbook.Worksheets("Regional sales")
workbook.Worksheets.ActiveWorksheet = worksheet

' Enable filtering for the specified cell range.
Dim range As CellRange = worksheet("B2:E23")
worksheet.AutoFilter.Apply(range)

' Filter values in the "Product" column that contain "Gi" and include empty cells.
Dim products As AutoFilterColumn = worksheet.AutoFilter.Columns(1)
products.ApplyCustomFilter("*Gi*", FilterComparisonOperator.Equal, FilterValue.FilterByBlank, FilterComparisonOperator.Equal, False)

The following code snippets (auto-collected from DevExpress Examples) contain references to the ApplyCustomFilter(FilterValue, FilterComparisonOperator, FilterValue, FilterComparisonOperator, Boolean) method.

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.

winforms-spreadsheetcontrol-api-part-2/CS/SpreadsheetControl_API_Part02/SpreadsheetActions/AutoFilterActions.cs#L110

csharp
AutoFilterColumn sales = worksheet.AutoFilter.Columns[2];
sales.ApplyCustomFilter(5000, FilterComparisonOperator.GreaterThanOrEqual, 8000, FilterComparisonOperator.LessThanOrEqual, true);
#endregion #FilterByCondition

wpf-spreadsheetcontrol-api-part-2/CS/SpreadsheetControl_WPF_API_Part02/SpreadsheetActions/AutoFilterActions.cs#L110

csharp
AutoFilterColumn sales = worksheet.AutoFilter.Columns[2];
sales.ApplyCustomFilter(5000, FilterComparisonOperator.GreaterThanOrEqual, 8000, FilterComparisonOperator.LessThanOrEqual, true);
#endregion #FilterByCondition

spreadsheet-document-api-examples-part2/CS/SpreadsheetDocServerAPIPart2/CodeExamples/AutoFilterActions.cs#L91

csharp
AutoFilterColumn sales = worksheet.AutoFilter.Columns[2];
sales.ApplyCustomFilter(5000, FilterComparisonOperator.GreaterThanOrEqual, 8000, FilterComparisonOperator.LessThanOrEqual, true);
#endregion #FilterNumbersByCondition

winforms-spreadsheetcontrol-api-part-2/VB/SpreadsheetControl_API_Part02/SpreadsheetActions/AutoFilterActions.vb#L100

vb
Dim sales As AutoFilterColumn = worksheet.AutoFilter.Columns(2)
                sales.ApplyCustomFilter(5000, FilterComparisonOperator.GreaterThanOrEqual, 8000, FilterComparisonOperator.LessThanOrEqual, True)
' #End Region ' #FilterByCondition

wpf-spreadsheetcontrol-api-part-2/VB/SpreadsheetControl_WPF_API_Part02/SpreadsheetActions/AutoFilterActions.vb#L99

vb
Dim sales As AutoFilterColumn = worksheet.AutoFilter.Columns(2)
                sales.ApplyCustomFilter(5000, FilterComparisonOperator.GreaterThanOrEqual, 8000, FilterComparisonOperator.LessThanOrEqual, True)
' #End Region ' #FilterByCondition

spreadsheet-document-api-examples-part2/VB/SpreadsheetDocServerAPIPart2/CodeExamples/AutoFilterActions.vb#L85

vb
Dim sales As AutoFilterColumn = worksheet.AutoFilter.Columns(2)
            sales.ApplyCustomFilter(5000, FilterComparisonOperator.GreaterThanOrEqual, 8000, FilterComparisonOperator.LessThanOrEqual, True)
' #End Region ' #FilterNumbersByCondition

See Also

How to: Apply a Custom Text Filter

How to: Apply a Custom Number Filter

How to: Apply a Custom Date Filter

AutoFilterColumn Interface

AutoFilterColumn Members

DevExpress.Spreadsheet Namespace