This example demonstrates how to use a CriteriaPatchBase class descendant to apply a custom function criteria operator.
Assign a custom function operator to the grid's FilterExpression property. For the auto filter row, handle the grid's server-side ProcessColumnAutoFilter event as follows:
protected void Grid_ProcessColumnAutoFilter(object sender, DevExpress.Web.ASPxGridViewAutoFilterEventArgs e) {
var grid = (ASPxGridView)sender;
if(e.Column.FieldName == SpecialFilterColumnFieldName && e.Kind == GridViewAutoFilterEventKind.CreateCriteria) {
grid.FilterExpression = UpdateGridFilterExpression(grid, e);
e.Criteria = null;
}
}
Handle the grid's server-side AutoFilterCellEditorInitialize event to assign the custom criteria operator value to the filter editor.
protected void Grid_AutoFilterCellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) {
var grid = (ASPxGridView)sender;
if(e.Column.FieldName == SpecialFilterColumnFieldName) {
var gridCriteria = CriteriaOperator.Parse(grid.FilterExpression);
e.Editor.Value = CriteriaVisitor.GetCustomFunctionOperatorValue(gridCriteria, e.Column.FieldName);
}
}
- CriteriaPatcherBase.cs (VB: CriteriaPatcherBase.vb)
- CriteriaVisitor.cs (VB: CriteriaVisitor.vb)
- MyCustomFunctionOperator.cs (VB: MyCustomFunctionOperator.vb)
- Default.aspx (VB: Default.aspx)
- Default.aspx.cs (VB: Default.aspx.vb)
(you will be redirected to DevExpress.com to submit your response)