Represents a row filter. Can be used with anonymous methods.

Namespace: Dapfor.Net.Ui
Assembly: Dapfor.Net (in Dapfor.Net.dll) Version: (


public sealed class Filter : IFilter
Visual Basic
Public NotInheritable Class Filter
	Implements IFilter
Visual C++
public ref class Filter sealed : IFilter
type Filter =  
        interface IFilter



Demonstrates how to set and use the filter
 Copy imageCopy
//Some data object
public class Product : INotifyPropertyChanged
    private double price;

    public double Price
        get { return price; }
            //If the price is not the same, change it and notify about price changing
            if (price != value)
                price = value;
                //The event can be raised from any thread. The grid will synchronize thread with GUI without blocking the calling thread.
                //While painting, sorting or filtering the grid can ask this object in the GUI (!) thread to return the price value.
                if(PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("Price"));

    public event PropertyChangedEventHandler PropertyChanged;

public void HowToSetFilter(Grid grid)
    //Set a filter that hides all rows, that contain products with price less than 10
    grid.Filter = new Filter(delegate(Row row)
        //There are three ways to get price: 
        //1. From the Cell through the Value property, which returns a double value: row["Price"].Value
        //2. Through the IDataAccessor and IDataField: row.DataAccessor["Price"].Value
        //3. From the data object itself: ((Product)row.DataObject).Price

        if ((double)row["Price"].Value < 10)
            //Filter the row
            return true;

        //The row is not filtered
        return false;

    //Populate the grid
    Product product1 = new Product();
    Product product2 = new Product();


    //Update the product's price
    //Data objects will notify the Grid, and it will display only the product2. 
    //The product1 will be hidden
    product1.Price = 9;
    product2.Price = 11;

Inheritance Hierarchy


See Also