An interface to filter Row objects in GridControl.
             
Namespace: Dapfor.Wpf.ControlsAssembly: Dapfor.Wpf (in Dapfor.Wpf.dll) Version: 4.1.0.26317 (4.1.0.26317)
 Syntax
Syntax
| C# | 
|---|
| public interface IFilter | 
| Visual Basic | 
|---|
| Public Interface IFilter | 
| Visual C++ | 
|---|
| public interface class IFilter | 
| F# | 
|---|
| type IFilter = interface end | 
 Remarks
Remarks
                 Demonstrates how to set and use the filter
             
|  Copy | |
|---|---|
| //Some data object public class Product : INotifyPropertyChanged { private double _price; public double Price { get { return _price; } set { //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(GridControl grid) { //Set a filter that hides all rows, that contain products with price less than 10 grid.Filter = new Filter(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(); grid.Rows.Add(product1); grid.Rows.Add(product2); //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; } | |





