本文整理汇总了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();
}
示例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;
}
}