#asp.net-mvc #filter #kendo-ui #telerik #kendo-grid
#asp.net-mvc #Фильтр #кендо-пользовательский интерфейс #телерик #kendo-grid
Вопрос:
У меня есть такая модель:
Id Type
-------------
1 Vehicle
2 Trailer
3 Vehicle
Я надеюсь в конечном итоге использовать переключатель, чтобы управлять тем, как эти данные фильтруются в сетке кендо, выбирая фильтрацию по Type
Vehicle
принципу равно или 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");
})
)
)
Мой код основан на примере фильтра из документации.
При этом по-прежнему отображаются все 3 записи в модели, а не только строки 1
и 3
. Что также интересно, так это то, что после указания этого начального фильтра элементы управления фильтрами также не допускают никаких фильтров. То есть они видны, я могу ввести данные и щелкнуть Filter
, но это не будет фильтровать сетку.
У кого-нибудь есть идеи, в чем может заключаться проблема?
Ответ №1:
Согласно документации, ваш синтаксис неверен, вы написали:
filter.Add(f => f.Type == "Vehicle");
Когда это должно быть:
filter.Add(f => f.Type).IsEqualTo("Vehicle");
Комментарии:
1. Невероятно. Мой мозг обработал это как прямой LINQ. Большое спасибо.