public static void ClearFilter(this GridView gv, string propertyName) { var Criteria = gv.GetCriteria() == null ? new List<CriteriaOperator>() : gv.GetCriteria().ToList(); var ActiveCriteria = new GroupOperator(Criteria.ToArray()); if (ReferenceEquals(ActiveCriteria, null)) return; gv.ClearColumnsFilter(); gv.ActiveFilterCriteria = ActiveCriteria.ClearFilter(propertyName); gv.ApplyColumnsFilter(); }
public static void ClearFilter(this GridView gv, params string[] OperandNames) { var Criteria = gv.GetCriteria() == null ? new List<CriteriaOperator>() : gv.GetCriteria().ToList(); gv.ClearColumnsFilter(); if (Criteria.Count == 0) return; else { var grps = Criteria.OfType<GroupOperator>() .Where(g => g.Operands.Count() == OperandNames.Count() && g.Operands.All(i => OperandNames.Any(o => i.IsNamed(o))) ) .ToArray(); Criteria.RemoveAll(o => grps.Contains(o)); } gv.ActiveFilterCriteria = new GroupOperator(Criteria.ToArray()); gv.ApplyColumnsFilter(); gv.MoveFirst(); }
public static void ClearAllFilters(this GridView gv) { gv.ClearColumnsFilter(); gv.ApplyColumnsFilter(); gv.MoveFirst(); }
public static void SetFilter(this GridView gv, CriteriaOperator item) { var Criteria = gv.GetCriteria() == null ? new List<CriteriaOperator>() : gv.GetCriteria().ToList(); gv.ClearColumnsFilter(); if (Criteria.Count == 0) Criteria.Add(item); else { switch (item.GetType().Name) { case "GroupOperator": { var grpi = item as GroupOperator; var itms = grpi.Operands.ToArray(); var grps = Criteria.OfType<GroupOperator>() .Where(g => g.Operands.Count() == itms.Count() && g.Operands.All(i => itms.Any(o => i.IsNamed(o))) ) .ToArray(); Criteria.RemoveAll(o => grps.Contains(o)); Criteria.Add(item); } break; case "InOperator": { var inoi = item as InOperator; Criteria.RemoveAll(o => o.IsNamed(inoi.LeftOperand)); Criteria.Add(item); } break; case "BinaryOperator": { var bini = item as BinaryOperator; Criteria.RemoveAll(o => o.IsNamed(bini.LeftOperand)); Criteria.Add(item); } break; } } gv.ActiveFilterCriteria = new GroupOperator(Criteria.ToArray()); gv.ApplyColumnsFilter(); gv.MoveFirst(); }