Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
 public static void ClearAllFilters(this GridView gv)
 {
     gv.ClearColumnsFilter();
     gv.ApplyColumnsFilter();
     gv.MoveFirst();
 }
Esempio n. 4
0
        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();
        }