Class CustomFilterCollection

CustomFilterCollection class

Represents the custom filters.

public class CustomFilterCollection : CollectionBase<CustomFilter>

Constructors

NameDescription
CustomFilterCollection()Constructs new instance.

Properties

NameDescription
And { get; set; }Indicates whether the two criteria have an “and” relationship.
Capacity { get; set; }
Count { get; }
Item { get; }Gets the custom filter in the specific index.
Item { get; set; }

Methods

NameDescription
BinarySearch(CustomFilter)
BinarySearch(CustomFilter, IComparer<CustomFilter>)
BinarySearch(int, int, CustomFilter, IComparer<CustomFilter>)
Clear()
Contains(CustomFilter)
CopyTo(CustomFilter[])
CopyTo(CustomFilter[], int)
CopyTo(int, CustomFilter[], int, int)
Exists(Predicate<CustomFilter>)
Find(Predicate<CustomFilter>)
FindAll(Predicate<CustomFilter>)
FindIndex(Predicate<CustomFilter>)
FindIndex(int, Predicate<CustomFilter>)
FindIndex(int, int, Predicate<CustomFilter>)
FindLast(Predicate<CustomFilter>)
FindLastIndex(Predicate<CustomFilter>)
FindLastIndex(int, Predicate<CustomFilter>)
FindLastIndex(int, int, Predicate<CustomFilter>)
GetEnumerator()
IndexOf(CustomFilter)
IndexOf(CustomFilter, int)
IndexOf(CustomFilter, int, int)
LastIndexOf(CustomFilter)
LastIndexOf(CustomFilter, int)
LastIndexOf(CustomFilter, int, int)
RemoveAt(int)

Examples

using System;
using Aspose.Cells;

namespace AsposeCellsExamples
{
    public class CellsClassCustomFilterCollectionDemo
    {
        public static void Run()
        {
            // Create a new workbook
            Workbook workbook = new Workbook();
            Worksheet sheet = workbook.Worksheets[0];

            // Add sample data
            sheet.Cells["A1"].PutValue("Numbers");
            sheet.Cells["A2"].PutValue(10);
            sheet.Cells["A3"].PutValue(20);
            sheet.Cells["A4"].PutValue(30);
            sheet.Cells["A5"].PutValue(40);
            sheet.Cells["A6"].PutValue(50);

            // Enable auto filter first
            sheet.AutoFilter.Range = "A1:A6";
            
            // Create custom filters
            sheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, "30");
            sheet.AutoFilter.Custom(0, FilterOperatorType.LessOrEqual, "40");

            // Get filters through reflection since direct method isn't available
            var filterField = sheet.AutoFilter.GetType().GetField("m_customFilters", 
                System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
            var filters = (CustomFilterCollection)filterField.GetValue(sheet.AutoFilter);

            // Apply filters
            Cells_Type_CustomFilterCollection(sheet, filters);

            // Save the workbook
            workbook.Save("CustomFilterDemo.xlsx");
        }

        private static void Cells_Type_CustomFilterCollection(Worksheet sheet, CustomFilterCollection filters)
        {
            Console.WriteLine("Applying custom filters:");
            if (filters != null)
            {
                for (int i = 0; i < filters.Count; i++)
                {
                    Console.WriteLine($"Filter: {filters[i].FilterOperatorType}, Criteria: {filters[i].Criteria}");
                }
            }
        }
    }
}

See Also