0

我正在尝试将一些自定义客户端过滤应用于 Telerik MVC 网格(版本 2012.3.1018)。Grid 有大量的行,目标是只显示某个部门的员工输入的行。根据文档,“如果过滤器表达式中有两个以上的语句,则应使用括号声明它们。” 通过反复试验,我确定 Grid 只能成对处理过滤条件,但每一对都可以包含其他对。

因此,例如,如果您有 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 在右手组。

我在构建过滤器字符串时遇到了麻烦。我已经尝试遍历一系列条件,但我似乎无法让括号正确:我要么遗漏了一些,要么有太多。我怀疑我需要某种树形结构,但由于我没有计算机科学背景,所以我无法找到解决方案。我已经在这上面花了太多时间了。

提前感谢您的任何建议。

4

1 回答 1

0

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

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

在 Telerik MVC Grid Filter 中的应用规则中,但没有在那里解释,所以我不太明白。

于 2013-06-27T17:04:48.150 回答