Edit this page

Populate Column Aggregates In Separate div Elements

Environment

Product Version 2017.3 1026
Product Grid for ProgressĀ® Kendo UIĀ®

Description

How can I populate a column aggregate (sum) into a separate div element outside the Grid?

Solution

To retrieve the aggregate of a column, use the aggregates method of the dataSource.

  <body>
    <div id="example">
      <div id="agg"> </div>
      <div id="grid"></div>
      <script>
        $(document).ready(function() {
          $("#grid").kendoGrid({
            dataSource: {
              type: "odata",
              transport: {
                read: "https://demos.telerik.com/kendo-ui/service/Northwind.svc/Products"
              },
              schema:{
                model: {
                  fields: {
                    UnitsInStock: { type: "number" },
                    ProductName: { type: "string" },
                    UnitPrice: { type: "number" },
                    UnitsOnOrder: { type: "number" },
                    UnitsInStock: { type: "number" }
                  }
                }
              },
              pageSize: 7,
              aggregate: [{ field: "UnitsInStock", aggregate: "sum" }]
            },
            sortable: true,
            dataBound:function(e){
              var aggSum = e.sender.dataSource.aggregates().UnitsInStock.sum
              $('#agg').html("The sum of the Units In Stock column is: "+ aggSum)
            },
            scrollable: false,
            pageable: true,
            columns: [
              { field: "ProductName", title: "Product Name"},
              { field: "UnitPrice", title: "Unit Price", aggregates: ["sum"] },
              { field: "UnitsOnOrder", title: "Units On Order" },
              { field: "UnitsInStock", title: "Units In Stock"}
            ]
          });
        });
      </script>
    </div>
    <style>
      #agg{
        margin: 25px;
      }
    </style>
  </body>
Is this article helpful? Yes / No
Thank you for your feedback!

Give article feedback

Tell us how we can improve this article

close
Dummy