Html Grid

Set the showaggregates property of the jqxGrid. Author: http://jqwidgets.com

by inee814

HTML

<script src="https://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css">
<script src="https://jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/generatedata.js"></script>
<div id="jqxgrid"></div>

JavaScript

var data = generatedata(200);
  var source = {
      localdata: data,
      datatype: "array",
      datafields: [{
          name: 'firstname',
          type: 'string'
      }, {
          name: 'lastname',
          type: 'string'
      }, {
          name: 'productname',
          type: 'string'
      }, {
          name: 'available',
          type: 'bool'
      }, {
          name: 'quantity',
          type: 'number'
      }, {
          name: 'price',
          type: 'number'
      }],
      updaterow: function (rowid, rowdata) {
          // synchronize with the server - send update command   
      }
  };
  var dataAdapter = new $.jqx.dataAdapter(source);
  // initialize jqxGrid
  $("#jqxgrid").jqxGrid({
      width: 500,
      theme: "energyblue",
      source: dataAdapter,
      showstatusbar: true,
      statusbarheight: 50,
      editable: true,
      showaggregates: true,
      showgroupaggregates: true,
      groupable: true,
      selectionmode: 'singlecell',
      columns: [{
          text: 'First Name',
          columntype: 'textbox',
          datafield: 'firstname',
          width: 90
      }, {
          text: 'Last Name',
          datafield: 'lastname',
          columntype: 'textbox',
          width: 90
      }, {
          text: 'Product',
          datafield: 'productname',
          width: 170,
          aggregates: ['count', {
              'Cappuccino Items': function (aggregatedValue, currentValue) {
                  if (currentValue == "Cappuccino") {
                      return aggregatedValue + 1;
                  }
                  return aggregatedValue;
              }
          }]
      }, {
          text: 'In Stock',
          datafield: 'available',
          columntype: 'checkbox',
          width: 125,
          aggregates: [{
              'In Stock': function (aggregatedValue, currentValue) {
                  if (currentValue) {
                      return aggregatedValue + 1;
                  }
            ...