protected void Grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Column.FieldName == "Numbers")
        {
            switch (e.Kind)
            {
            case GridViewAutoFilterEventKind.CreateCriteria:
                CriteriaOperator co = CriteriaOperator.Parse(Grid.FilterExpression);
                if (co is GroupOperator)
                {
                    GroupOperator    go      = co as GroupOperator;
                    CriteriaOperator operand = go.Operands.Find(op => op.LegacyToString().Contains("MyNewFunction"));
                    if (operand is CriteriaOperator)
                    {
                        go.Operands.Remove(operand);
                    }
                    Grid.FilterExpression = go.LegacyToString();
                }
                else if (co is CriteriaOperator)
                {
                    string filter = co.LegacyToString();
                    if (filter.Contains("MyNewFunction"))
                    {
                        Grid.FilterExpression = string.Empty;
                    }
                }
                if (e.Value.Contains('-'))
                {
                    CriteriaOperator cop = new FunctionOperator(FunctionOperatorType.Custom, "MyNewFunction", e.Value, new OperandProperty("Numbers"));
                    e.Criteria = cop;
                }
                break;

            case GridViewAutoFilterEventKind.ExtractDisplayText:
            default:
                break;
            }
        }
    }