Asp.net mvc 为什么这个初始剑道网格过滤器不工作?

Asp.net mvc 为什么这个初始剑道网格过滤器不工作?,asp.net-mvc,filter,kendo-ui,telerik,kendo-grid,Asp.net Mvc,Filter,Kendo Ui,Telerik,Kendo Grid,我有一个这样的模型: Id Type ------------- 1 Vehicle 2 Trailer 3 Vehicle 我希望最终使用一个单选按钮来控制如何在剑道网格上过滤这些数据,选择过滤类型是否等于车辆或拖车。我不知道怎么做,但是,现在,我甚至不能让初始过滤器工作。我的表格如下: @(Html.Kendo().Grid<PcKendoUi.Models.CompanyDueDatesIndexVM>() .Name("DueDates

我有一个这样的模型:

Id    Type
-------------
1     Vehicle
2     Trailer
3     Vehicle
我希望最终使用一个单选按钮来控制如何在剑道网格上过滤这些数据,选择过滤
类型
是否等于
车辆
拖车
。我不知道怎么做,但是,现在,我甚至不能让初始过滤器工作。我的表格如下:

@(Html.Kendo().Grid<PcKendoUi.Models.CompanyDueDatesIndexVM>()
    .Name("DueDates")
    .Columns(columns =>
    {
        columns.Bound(c => c.Id);
        columns.Bound(c => c.Type);
    })
    .Filterable()
    .DataSource(ds => ds
        .Ajax()
        .Model(m => m.Id(x => x.Id))
        .Read(s => s.Action("Test", "CompanyDueDates"))
        .Filter(filter =>
        {
            filter.Add(f => f.Type == "Vehicle");
        })
     )
)
@(Html.Kendo().Grid())
.姓名(“到期日”)
.列(列=>
{
columns.Bound(c=>c.Id);
columns.Bound(c=>c.Type);
})
.可过滤()
.DataSource(ds=>ds
.Ajax()
.Model(m=>m.Id(x=>x.Id))
.Read(s=>s.Action(“测试”、“公司日期”))
.Filter(Filter=>
{
添加过滤器(f=>f.Type==“车辆”);
})
)
)
我的代码基于中的过滤器示例

这仍然显示模型中的所有3条记录,而不仅仅是行
1
3
。同样有趣的是,在指定这个初始过滤器之后,过滤器控件也不允许任何过滤器。也就是说,它们是可见的,我可以输入数据并单击过滤,但它不会过滤网格


有人知道问题出在哪里吗?

根据文档,您的语法不正确,您写道:

filter.Add(f => f.Type == "Vehicle");
何时应该:

filter.Add(f => f.Type).IsEqualTo("Vehicle");

难以置信的我的大脑将其处理为直线上升LINQ。谢谢。