我正在尝试将一些自定义客户端过滤应用于Telerik MVC Grid(版本2012.3.1018)。 Grid具有大量行,目标是仅显示某个部门的员工输入的行。根据{{3}},“如果过滤器表达式中有两个以上的语句,则应使用括号声明它们。”通过反复试验,我确定网格只能成对处理过滤条件,但每对都可以包含其他对。
例如,如果您有4种可能的条件,则必须执行以下操作:
(1 or 2) or (3 or 4)
问题是当有大量条件时,括号开始变得非常复杂。对于16,您需要:
(((1 or 2) or (3 or 4)) or ((5 or 6) or (7 or 8))) or (((9 or 10) or (11 or 12)) or ((13 or 14)) or (15 or 16)))
换句话说,条件由1对组成,左手组为1-8,右手为9-16。
我有一个构建过滤字符串的魔鬼。我已经尝试迭代一系列条件,但我似乎无法使括号正确:我要么缺少一些,要么我有太多。我怀疑我需要某种树形结构,但由于我没有计算机科学背景,解决方案使我无法解决。我已经花了太多时间在这上面。
提前感谢任何建议。
答案 0 :(得分:0)
解决方案是堆叠左侧的所有括号:
((((((A or B) or C) or D) or E) or F) or G
那是在Applying rules in Telerik MVC Grid Filter,但在那里没有解释,所以我没有抓住它。