Anno
Anno

Reputation: 77

How to set initial grouping for a Kendo grid

So I've got the following piece of code working server side using Kendo Grid. However, I am confused on the next step.

How do I set the grid to initially group by Income_Party? Also is it possible to add in a total amount per grouping?

@(Html.Kendo().Grid(Model.IncomeView)
  .Name("grid")
  .Columns(columns =>
  {
      columns.Bound(model => model.INC_INCOME_DESCRIPTION);
      columns.Bound(item => item.INC_INCOME_AMOUNT);
      columns.Bound(item => item.INC_INCOME_PARTY);
      columns.Template(@<text>
                   @Html.ActionLink("Edit", "Edit", "MyLink" + item.VIEW_TYPE, new { id = item.GID, ReturnAction = "IncomeAndExpenses" }, null)  
                 </text>)
                  .ClientTemplate("<a href='/brunch/statistics/brunchid=#= BrunchCode#'>#=BrunchCode#</a>")
                  .Title("");
  })

)

Upvotes: 3

Views: 4575

Answers (1)

Atanas Korchev
Atanas Korchev

Reputation: 30671

You can set the initial groups and aggregates like this:

@(Html.Kendo().Grid(Model.IncomeView)
  .Name("grid")
  .Columns(columns =>
  {
      columns.Bound(model => model.INC_INCOME_DESCRIPTION);
      columns.Bound(item => item.INC_INCOME_AMOUNT).GroupFooterTemplate(@<text>
            Total: @item.Sum
        </text>);
      columns.Bound(item => item.INC_INCOME_PARTY);
      columns.Template(@<text>
                   @Html.ActionLink("Edit", "Edit", "MyLink" + item.VIEW_TYPE, new { id = item.GID, ReturnAction = "IncomeAndExpenses" }, null)  
                 </text>)
                  .ClientTemplate("<a href='/brunch/statistics/brunchid=#= BrunchCode#'>#=BrunchCode#</a>")
                  .Title("");
  })
  .DataSource(dataSource => dataSource
        .Server()
        .Aggregates(aggregates =>
        {
            aggregates.Add(p => p.INC_INCOME_AMOUNT).Sum();
        })
        .Group(groups => groups.Add(p => p.INC_INCOME_PARTY))
  )

Upvotes: 4

Related Questions