Реализуйте выражение 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);
}
Другие вопросы по тегам