ASP.NET 端 Datagrid 中数据的动态过滤器

问题描述 投票:0回答:1

我有一个带有 Ajax 的 ASP.NET 页面和一个数据网格(数据表)。数据网格的列中有搜索字段。

对于普通搜索字段,来自数据源的数据过滤如下:

myData = myData.Where(m => m.myFieldA.Contains(searchValueA)
                           || m.myFieldB.Contains(searchValueB)
                           || m.myFieldC.Contains(searchValueC));

我想动态构建过滤器。我通过循环获取字段名称和搜索词。现在我想动态设计过滤器并根据搜索输入字段中的条目生成它。

如果仅在 2 个字段中输入了某些内容,则过滤器应仅对 2 个条目进行过滤,并根据用户的规范与 and 或 链接。

你可以怎样做

m.myFieldA.Contains(searchValueA) 

动态?是这样的吗:

m.fields("myFieldA").Contains(...

不幸的是,我还不太熟悉它。

asp.net-mvc datagrid
1个回答
0
投票

数据表插件中的搜索不像您提到的那样工作。无论您在数据表插件的搜索框中添加了什么,如果在后端处理所有列,那么搜索将返回所有列中匹配搜索的结果。如果您限制两列,则搜索将仅在两列中完成。这取决于你的选择。您可以在后端业务逻辑层处理过滤或排序,也可以在数据库级别进行。我建议查看 ASP.NET MVC & Datatables JQuery Plugin Server Side Integration 文章以更好地理解。此示例使用 datables ajax。我希望它有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.