使用MVC帮助程序扩展在Kendo UI Grid上实现groupby表达式

时间:2012-06-27 22:08:19

标签: asp.net-mvc-3 grid group-by kendo-ui custom-binding

我正在使用Kendo UI Grid来显示我的结果。我正在使用asp.net mvc helper扩展方法创建带有Custom Binding的Grid来实现分页,如文档中所述(http://www.kendoui.c​​om/documentation/asp-net-mvc/helpers/grid /custom-binding.aspx)。我的结果数据可以分为5个不同的组(Group1Id,Group2Id ......)。我需要使用这些组ID对结果进行分组。谁能告诉我如何实现groupBy。在telerik网格中(对于webforms)我使用了GridGroupByExpression。我想要一些类似于这种行为的东西。有

.Group(groups =>
    {
       groups.Add(p => p.Group1Id);
        groups.Add(p => p.Group2Id);
    }

它不适用于自定义绑定。但是,它适用于服务器绑定。我还没有尝试过Ajax绑定。

1 个答案:

答案 0 :(得分: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);
}