如何筛选 Kendo 网格数据

How to filter the Kendo Grid data

我在视图中使用 kendo 网格。我如何过滤网格中的数据。我的网格从我模型中的列表中获取数据。

@(Html.Kendo().Grid(Model.list)
    .Name("listgrid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Name).Title("Name");
        columns.Bound(p => p.status).Title("status");
    })
    .Sortable()
    .Resizable(resize => resize.Columns(true))
    .DataSource(dataSource => dataSource)
)

不,我想根据字段名称过滤我的网格。我试过了

var datasource = new kendo.data.DataSource({
    data: [{name: "sasdas"}],
    filter: {
        logic: "or",
        filters:[
            { field: "Name", operator: "eq", value: "null" },
            { field: "Name", operator: "eq", value: "" }
        ]
    }
});

我做错了什么。

场景 1:如果您想要过滤器的单独行

  @(Html.Kendo().Grid(Model.list)
        .Name("listgrid")
        .Columns(columns =>
        {
            columns.Bound(p => p.Name).Title("Name").Filterable(ftb => ftb.Cell(cell => cell.ShowOperators(false)));
            columns.Bound(p => p.status).Title("status").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)));
        })
        .Sortable()
        .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
        .Resizable(resize => resize.Columns(true))
        .DataSource(dataSource => dataSource)
    )

场景2:Filter菜单自定义:

@(Html.Kendo().Grid(Model.list)
        .Name("listgrid")
        .Columns(columns =>
        {
            columns.Bound(p => p.Name).Title("Name");
            columns.Bound(p => p.status).Title("status");
        })
        .Sortable()
        .Filterable(filterable => filterable
        .Extra(false)
        .Operators(operators => operators
            .ForString(str => str.Clear()
                .StartsWith("Starts with")
                .IsEqualTo("Is equal to")
                .IsNotEqualTo("Is not equal to")
            ))
        )   
        .Resizable(resize => resize.Columns(true))
        .DataSource(dataSource => dataSource)
    )