Telerik MVC网格中的复杂过滤

时间:2013-06-26 21:45:44

标签: tree telerik-grid telerik-mvc

我正在尝试将一些自定义客户端过滤应用于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。

我有一个构建过滤字符串的魔鬼。我已经尝试迭代一系列条件,但我似乎无法使括号正确:我要么缺少一些,要么我有太多。我怀疑我需要某种树形结构,但由于我没有计算机科学背景,解决方案使我无法解决。我已经花了太多时间在这上面。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

解决方案是堆叠左侧的所有括号:

((((((A or B) or C) or D) or E) or F) or G

那是在Applying rules in Telerik MVC Grid Filter,但在那里没有解释,所以我没有抓住它。