kendo-grid - Kendo MVC Grid Filtering - 考虑多个字段的过滤器
问题描述
我有一个 MVC Kendo 网格,其中一列是实际使用多个字段的客户端模板。默认情况下,内置过滤仅应用于列绑定的字段。我如何覆盖它,以便它考虑这两个字段。即,当我搜索“包含”“De”时,应返回显示“Detroit, MI”的列。
这是我到目前为止所拥有的:
MVC 视图
@(Html.Kendo().Grid<ViewModel>()
.DataSource(dataSource => dataSource
.Custom()
.Transport(t =>
{
t.Read(r => r.Action("StatusGridRead", "DeviceStatus"));
})
.Schema(schema => schema
.Data("Result.Data")
.Total("Result.Total")
.Errors("Result.Errors")
.Model(m =>
{
m.Id(f => f.Id);
m.Field(f => f.StateOrProvince);
m.Field(f => f.City);
...
})
)
)
.Columns(columns =>
{
columns.Bound(c => c.StateOrProvince).Title("City & State").ClientTemplate("#=City#, #=StateOrProvince#");
...
})
.Events(e=>
{
e.Filter("statusGridFilter");
})
.Sortable()
.Filterable(f =>
{
f.Extra(false);
f.Operators(o => o.ForString(s =>
{
s.Clear();
s.Contains("Contains");
s.IsEqualTo("Is Equal To");
s.StartsWith("Starts With");
s.EndsWith("Ends With");
s.DoesNotContain("Does Not Contain");
s.IsNotEqualTo("Is Not Equal To");
}));
})
)
Javascript
function statusGridFilter(e) {
if (e.field == "StateOrProvince") {
//What do I do here?
}
}
我知道如果我为城市和州创建了一个列来解决这个问题,但是我实际上有一个类似的场景(显示了许多字符串字段的客户端模板),它不起作用,我只是选择这个作为最简单的例子. 除了为 1 个字段制作 1 列之外,我对任何其他可能解决此场景过滤的想法持开放态度。
解决方案
推荐阅读
- c++ - 如何将其他提供的dll和lib链接到c++程序
- typescript - power bi 自定义视觉效果使用 json 文件
- reactjs - 将文本框值传递到不同页面中的另一个 React 页面,而在同一页面中显示
- xamarin.forms - 如何解决 Windows Machine 中 Visual Studio 2017 Professional 中的 System.Runtime.InteropServices.WindowsRuntime 包问题?
- sql - 不影响 SQL Server 中的函数转换的情况
- php - 如何通过一些独特的方式将单列值分成多列
- c - 计算有多少学生通过考试的 C 程序
- apache-spark - 实时消息文件上的 Spark Streaming
- java - 如何在 REST API 响应中将文件作为 URL 传递以直接查看文档
- visual-studio-code - 多个文件夹的单个“c_cpp_properties.json”?