Last Updated: 23 Apr 2024 17:52 by Amit Sighn
Amit Sighn
Created on: 23 Apr 2024 17:52
Category: Grid
Type: Bug Report
An error is thrown when using aggregates in ClientGroupFooterTemplate in a Grid with external DataSource

### Bug report

When the Grid uses an external DataSource, the aggregates are undefined within the ClientGroupFooterTemplate().

### Reproduction of the problem

Use the following REPL sample that demonstrates the issue:


1. Group the Grid by the "Freight" column.

2. An error is thrown in the browser console: "Uncaught ReferenceError: sum is not defined".

3. The aggregates=["sum"] is missing in the column options in the Grid initialization script;

"columns":[{"title":"Order ID","field":"OrderID","filterable":false,"encoded":true},{"title":"Freight","groupFooterTemplate":"Sum: #=sum#","field":"Freight","filterable":{"messages":{"title":"Show items with value that"},"checkAll":false},"encoded":true},{"title":"Ship City","width":"150px","field":"ShipCity","filterable":{"messages":{"title":"Show items with value that"},"checkAll":false},"encoded":true}]

When the DataSource is defined within the Grid configuration, the aggregate is displayed as expected.

### Expected/desired behavior

The "sum" aggregate must be displayed within the group footer template of the column when the Grid is grouped.

### Workaround

Define the DataSource in the Grid configuration or update the Grid settings by using the setOptions() method when the page is loaded:

    $(document).ready(function () {
        var grid = $("#grid").data("kendoGrid");
        if (grid) {
            let gridColumns = grid.columns;
            if (!gridColumns[1].aggregates) { // update [1] with the index of the column that has a group footer template. For example, "1" is the 2nd Grid column
                gridColumns[1].aggregates = ["sum"];
                grid.setOptions({ columns: gridColumns });

### Environment

* **Telerik UI for ASP.NET Core/MVC: 2024.1.319
* **Browser: [all]