Как отфильтровать данные Kendo Grid - PullRequest
0 голосов
/ 09 января 2019

Я использую сетку кендо на мой взгляд. Как я могу отфильтровать свои данные в сетке. моя сетка получает данные из списка в моей модели.

@(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 Ответ

0 голосов
/ 26 января 2019

сценарий 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: Настройка меню фильтра:

@(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)
    )
...