//#region OnViewControlsCreated

        ////Alternative implementation
        //protected override void OnViewControlsCreated()
        //{
        //  base.OnViewControlsCreated();

        //  ASPxGridListEditor listEditor = ((ListView)View).Editor as ASPxGridListEditor;
        //  if (listEditor != null)
        //  {
        //    foreach (ASPxGridViewColumnWrapper columnWrapper in listEditor.Columns)
        //    {
        //      IModelColumn modelColumn = (this.View as ListView)?.Model.Columns[columnWrapper.PropertyName];
        //      IModelMemberAutoFilterRow modelMember = modelColumn?.ModelMember as IModelMemberAutoFilterRow;
        //      if (modelMember != null && modelMember.AutoFilterRowCondition.HasValue)
        //        columnWrapper.Column.Settings.AutoFilterCondition = TransformToAutoFilterCondition(modelMember.AutoFilterRowCondition.Value);
        //    }
        //  }
        //}

        //#endregion

        #region TransformToAutoFilterCondition

        private DevExpress.Web.AutoFilterCondition TransformToAutoFilterCondition(AutoFilterRowCondition filterType)
        {
            switch (filterType)
            {
            case AutoFilterRowCondition.Default: return(DevExpress.Web.AutoFilterCondition.Default);

            case AutoFilterRowCondition.Like: return(DevExpress.Web.AutoFilterCondition.Like);

            case AutoFilterRowCondition.Equals: return(DevExpress.Web.AutoFilterCondition.Equals);

            case AutoFilterRowCondition.Contains: return(DevExpress.Web.AutoFilterCondition.Contains);

            case AutoFilterRowCondition.BeginsWith: return(DevExpress.Web.AutoFilterCondition.BeginsWith);

            case AutoFilterRowCondition.EndsWith: return(DevExpress.Web.AutoFilterCondition.EndsWith);

            case AutoFilterRowCondition.DoesNotContain: return(DevExpress.Web.AutoFilterCondition.DoesNotContain);

            case AutoFilterRowCondition.DoesNotEqual: return(DevExpress.Web.AutoFilterCondition.NotEqual);

            case AutoFilterRowCondition.Greater: return(DevExpress.Web.AutoFilterCondition.Greater);

            case AutoFilterRowCondition.GreaterOrEqual: return(DevExpress.Web.AutoFilterCondition.GreaterOrEqual);

            case AutoFilterRowCondition.Less: return(DevExpress.Web.AutoFilterCondition.Less);

            case AutoFilterRowCondition.LessOrEqual: return(DevExpress.Web.AutoFilterCondition.LessOrEqual);

            // not supported in Web. So fallback to Default.
            case AutoFilterRowCondition.NotLike: return(DevExpress.Web.AutoFilterCondition.Default);

            default: throw new UserFriendlyException($"Auto Filter Row Condition {filterType} was not recognised.");
            }
        }
 public AutoFilterRowConditionAttribute(AutoFilterRowCondition condition)
 {
     AutoFilterCondition = condition;
 }