javascript - 您可以在 Kendo UI 中制作具有多个字段的单个过滤器吗?

标签 javascript asp.net-core kendo-ui kendo-grid

我有一个网格,其中填充了包含多个不同字段的项目,并且我创建了一个搜索栏,我打算用它来在网格中搜索具有与搜索词匹配的字段的项目。它只是将过滤器应用到具有给定术语的网格。我已经可以输入一些内容并按标题进行搜索,但我想对此进行扩展并能够搜索网格中的任何字段。

例如,对象 foo 可能具有字段 TitleDescriptionID >显示名称。我可以创建一个像这样的过滤器来显式搜索网格以查找 Title 字段中的匹配项:

let newFilter = { 字段:“标题”,运算符:“包含”,值:术语 };

其中term是代表用户输入的变量。这就是我对下一步该做什么感到有点困惑的地方:我可以以某种方式制作一个过滤器,而不是使用硬编码的“Title”作为其字段,而是搜索任何 foo 字段对于匹配项?或者我是否必须创建 4 个不同的过滤器,每个字段一个,然后在它们上放置一个“或”,告诉网格向我显示来自任何字段的术语的结果?这有道理吗?

最佳答案

您只需一个过滤器即可实现此功能。多取一个包含所有字段值的字段。

例如:

Current sample record: {"Title":"MR", "Description":"Hello", "ID":"1234", "DisplayName":"TestDisplay"}

After adding one new field with all the values: {"Title":"MR", "Description":"Hello", "ID":"1234", "DisplayName":"TestDisplay", "AllTheValues":"MR Hello 1234 TestDisplay"}

在过滤器中映射这个新字段:

let newFilter = { field: "AllTheValues", operator: "contains", value: term };

出于显示目的,您可以使用 Kendo Grid column template在网格列中显示您想要的任何值。

例如:{ field: "AllTheValues", template: "<strong>#: Title# </strong>" }

关于javascript - 您可以在 Kendo UI 中制作具有多个字段的单个过滤器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56737656/

相关文章:

javascript - 使用 Ajax/Axios 时从 FileStreamResult 获取文件名?

c# - SignalR,如何验证连接 ID 是否仍处于事件状态?

javascript - 从 Kendo UI dateTimepicker 隐藏/禁用周末

javascript - 获取列表中的勾选项

javascript - 地理定位不起作用

javascript - 阻止用户以 javascript/Angular 形式输入空白帖子

reactjs - 如何在 ASP.NET Core 3 React 应用程序的 index.html 中从服务器注入(inject)数据

kendo-ui - 必须以编程方式将网格设置为 editable=false

kendo-ui - 全局设置剑道网格的 NoRecords 设置

javascript - 将 SQLite PHP 数组转换为 Javascript 数组?