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.v21.2.dll
NuGet Package: DevExpress.Web
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.
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;
}
}