网格MVC多个过滤器

时间:2015-02-27 10:29:07

标签: asp.net-mvc gridview

我正在使用grid mvc来显示我的数据。我使用该示例创建了一个自定义窗口小部件来过滤项目,但这仅过滤单个项目。我创建了一个多次发送HTTP参数的复选框版本。

http://localhost:1653/AMUK/Channels?grid-filter=Project__1__0587%20Decom%20Legacy%20Sys&grid-filter=Project__1__0767%20Data%20Center%20Move

我在网格模型上设置了多个过滤器为true,但没有返回任何结果(如果我只选中一个框,则会有效)。

enter image description here

2 个答案:

答案 0 :(得分:2)

我终于弄明白了。我在这里写了回复的博客: Multiple Values In Grid.Mvc Single Column Filter

WithMultipleFilters()选项对此无效。该选项可在不同列上启用多个过滤器。要在同一列中包含多个过滤器,您需要更新过滤在工具本身中的工作方式。我更新了" GetFilterExpression " " DefaultColumnFilter.cs "中的方法GridMvc类库中的文件。我还更新了自定义小部件javascript。我在博客中也提供了完整代码示例的链接。

我希望这会有所帮助。如果您对我的解决方案有任何疑问,请与我们联系。

答案 1 :(得分:1)

如果我理解正确,您正在选择选项,但它只会在一个选项上进行过滤。我有类似的经验,我会尝试过滤不同的列,但它会松开以前的过滤器。我查看了源代码并找到了一个未记录的选项,您可以告诉它允许多列过滤(WithMultipleFilters())。下面是示例代码snip-it。

@Html.Grid(Model).AutoGenerateColumns().WithMultipleFilters()