2014-06-23 3 views
0

У меня есть модель, как так:Почему этот начальный фильтр сетки Кендо не работает?

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

Я надеюсь, в конечном счете использовать переключатель, чтобы контролировать, как эти данные фильтруются на сетке Кендо, выбирая для фильтрации равен ли TypeVehicle или Trailer. Я не знаю, как это сделать, но пока я не могу заставить начальный фильтр работать. Моя сетка выглядит следующим образом:

@(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 записи в модели, а не только строки 1 и 3. Интересно также, что после указания этого начального фильтра элементы управления фильтром также не допускают никакого фильтра. То есть, они видны, я могу ввести данные и нажать Filter, но он не будет фильтровать сетку.

Есть ли у кого-нибудь идеи, в чем проблема?

ответ

1

Согласно документации ваш синтаксис не является правильным, Вы писали:

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

Когда он должен быть:

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

шанс. Мой мозг обработал это как прямо вверх LINQ. Большое спасибо. –

Смежные вопросы