当前位置: 首页>>代码示例>>C#>>正文


C# CriteriaOperator.GetType方法代码示例

本文整理汇总了C#中CriteriaOperator.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# CriteriaOperator.GetType方法的具体用法?C# CriteriaOperator.GetType怎么用?C# CriteriaOperator.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CriteriaOperator的用法示例。


在下文中一共展示了CriteriaOperator.GetType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetFilter

        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();
        }
开发者ID:IsaacSanch,项目名称:KoruptLib,代码行数:48,代码来源:GridFilterHandler.cs

示例2: IsNamed

        public static bool IsNamed(this CriteriaOperator co, CriteriaOperator LeftOperand)
        {
            string pn = null;

            switch (LeftOperand.GetType().Name)
            {
                case "OperandProperty":
                    pn = (LeftOperand as OperandProperty).PropertyName;
                    break;
                case "InOperator":
                    if ((co as InOperator).LeftOperand is OperandProperty)
                        pn = ((co as InOperator).LeftOperand as OperandProperty).PropertyName;
                    break;
                case "BinaryOperator":
                    if ((co as BinaryOperator).LeftOperand is OperandProperty)
                        pn = ((co as BinaryOperator).LeftOperand as OperandProperty).PropertyName;
                    break;
            }

            if (pn == null)
                return false;

            switch (co.GetType().Name)
            {
                case "InOperator":
                    if ((co as InOperator).LeftOperand is OperandProperty)
                        return ((co as InOperator).LeftOperand as OperandProperty).PropertyName == pn;
                    else return false;
                case "BinaryOperator":
                    if ((co as BinaryOperator).LeftOperand is OperandProperty)
                        return ((co as BinaryOperator).LeftOperand as OperandProperty).PropertyName == pn;
                    else return false;
                default:
                    return false;
            }
        }
开发者ID:IsaacSanch,项目名称:KoruptLib,代码行数:36,代码来源:GridFilterHandler.cs


注:本文中的CriteriaOperator.GetType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。