Реализуйте выражение groupby в Kendo UI Grid с помощью вспомогательного расширения MVC
Я использую Kendo UI Grid для отображения моих результатов. Я использую вспомогательный метод расширения asp.net mvc для создания таблицы с пользовательской привязкой для реализации подкачки, как описано в документации (http://www.kendoui.com/documentation/asp-net-mvc/helpers/grid/custom-binding.aspx). Мои данные результатов могут быть сгруппированы в 5 различных групп (Group1Id, Group2Id...). Мне нужно сгруппировать результат с помощью этих групповых идентификаторов. Может кто-нибудь сказать мне, как реализовать groupBy. В сетке Telerik (для веб-форм) я использовал GridGroupByExpression. Я хотел бы что-то похожее на это поведение. Есть
.Group(groups =>
{
groups.Add(p => p.Group1Id);
groups.Add(p => p.Group2Id);
}
это не сработало для пользовательского связывания. Тем не менее, это работает для привязки сервера. Я еще не пробовал привязку Ajax.
1 ответ
Группировка выполняется аналогично сортировке для пользовательского связывания.
public ActionResult Index([DataSourceRequest]DataSourceRequest request)
{
IQueryable<Order> orders = new NorthwindDataContext().Orders;
//Apply grouping
foreach (GroupDescriptor groupDescriptor in request.Groups)
{
switch (groupDescriptor.Member)
{
case "Group1Id":
orders.GroupBy(s => s.Group1Id);
break;
case "Group2Id":
orders.GroupBy(s => s.Group2Id);
break;
}
}
return View(orders);
}