为什么这个初始的Kendo网格过滤器不起作用?

时间:2014-06-23 15:45:57

标签: asp.net-mvc filter kendo-ui telerik kendo-grid

我有一个这样的模型:

Id    Type
-------------
1     Vehicle
2     Trailer
3     Vehicle

我希望最终使用单选按钮来控制在Kendo网格上过滤此数据的方式,选择过滤Type是否等于VehicleTrailer。我不知道该怎么做,但是,就目前而言,我甚至无法使用初始过滤器。我的网格如下:

@(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");
        })
     )
)

我的代码基于documentation

中的过滤器示例

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

有谁知道问题可能是什么?

1 个答案:

答案 0 :(得分:1)

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

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

应该是:

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