Skip to main content
A newer version of this page is available. .
Tab

ASPxVerticalGrid.BeforeHeaderFilterFillItems Event

Enables you to provide custom filter items instead of default items displayed in the header filter.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v19.2.dll

Declaration

public event ASPxVerticalGridBeforeHeaderFilterFillItemsEventHandler BeforeHeaderFilterFillItems

Event Data

The BeforeHeaderFilterFillItems event's data class is ASPxVerticalGridBeforeHeaderFilterFillItemsEventArgs. The following properties provide information specific to this event:

Property Description
Handled Specifies whether the BeforeHeaderFilterFillItems event is handled. Inherited from ASPxGridBeforeHeaderFilterFillItemsEventArgs.
Row Gets the data row currently being filtered.
Values Gets a collection that contains the header filer values. Inherited from ASPxGridHeaderFilterEventArgs.

The event data class exposes the following methods:

Method Description
AddShowAll() Adds the ‘All’ item to the header filter. Inherited from ASPxGridHeaderFilterEventArgs.
AddShowBlanks(String) Creates and adds the “Blanks” filter value to the header filter values. Inherited from ASPxGridHeaderFilterEventArgs.
AddShowNonBlanks(String) Creates and adds the “(Non blanks)” filter value to the header filter values. Inherited from ASPxGridHeaderFilterEventArgs.
AddValue(String, CriteriaOperator) Adds a new filter item with the specified filter criteria operator to the header filter. Inherited from ASPxGridBeforeHeaderFilterFillItemsEventArgs.
AddValue(String, String, String) Adds a new filter item with the specified filter criteria to the header filter. Inherited from ASPxGridHeaderFilterEventArgs.
AddValue(String, String) Adds a new filter item to the header filter. Inherited from ASPxGridHeaderFilterEventArgs.
CreateShowBlanksValue(String) Creates and returns the (Blanks) filter item used to filter a column by blank values. Inherited from ASPxGridHeaderFilterEventArgs.
CreateShowNonBlanksValue(String) Creates and returns the (Non blanks) filter item used to filter a column by blank values. Inherited from ASPxGridHeaderFilterEventArgs.

Remarks

End-users can filter row values via the header filter. To invoke the header filter, an end-user should click on the filter button. The BeforeHeaderFilterFillItems event is raised before the header filter is shown and default filter items are created. The event enables you to provide custom filter items.

The row whose filter button has been clicked is returned by the ASPxVerticalGridBeforeHeaderFilterFillItemsEventArgs.Row property. To add a new filter value, use the ASPxGridBeforeHeaderFilterFillItemsEventArgs.AddValue method.

Set the ASPxGridBeforeHeaderFilterFillItemsEventArgs.Handled property to true to prevent the ASPxVerticalGrid.HeaderFilterFillItems event from being raised. Otherwise, the event clears the item collection before filling it with default items.

If you would like to add custom items to the default items, use the ASPxVerticalGrid.HeaderFilterFillItems event.

Note

The ASPxVerticalGrid header filter allows the use of HTML tags in an item text. To learn more, see Header Filter.

Example

The code sample below demonstrates how to provide custom header filter items using the ASPxVerticalGrid.BeforeHeaderFilterFillItems event. The ASPxGridBeforeHeaderFilterFillItemsEventArgs.AddValue method is used to create filter items. The ASPxGridBeforeHeaderFilterFillItemsEventArgs.Handled property is set to true to prevent the ASPxVerticalGrid.HeaderFilterFillItems event from being raised.

Note that the event fires before default items are created. If you would like to add custom items to default items, use the ASPxVerticalGrid.HeaderFilterFillItems event.

The image below shows the result.

ASPxCardView_Ex_BeforeHeaderFilterFillItems

protected void ASPxVerticalGrid1_BeforeHeaderFilterFillItems(object sender, DevExpress.Web.ASPxVerticalGridBeforeHeaderFilterFillItemsEventArgs e)
{
    if (e.Row.FieldName == "UnitPrice")
    {
        e.AddShowAll();
        int step = 20;
        var prop = new OperandProperty(e.Row.FieldName);
        for (int i = 0; i < 5; i++)
        {
            var start = step * i;
            var end = start + step;
            e.AddValue(string.Format("from {0:c0} to {1:c0}", start, end), prop >= start & prop < end);
        }
        e.AddValue(string.Format(">= {0:c0}", 100), prop >= 100);
        e.Handled = true;
    }
}
See Also