DevExtreme v24.2 is now available.

Explore our newest features/capabilities and share your thoughts with us.

Your search did not match any results.

React Data Grid - Group Summaries

To configure group summaries, populate the summary.groupItems array with summary configuration objects. Each object should specify a column that supplies data for summary calculation and a summaryType—an aggregate function that should be applied to this data.

Backend API
import React from 'react'; import DataGrid, { Column, Selection, Summary, GroupItem, SortByGroupSummaryInfo, Pager, } from 'devextreme-react/data-grid'; import { orders } from './data.ts'; const App = () => ( <DataGrid id="gridContainer" dataSource={orders} keyExpr="ID" showBorders={true} > <Selection mode="single" /> <Pager visible={true} /> <Column dataField="OrderNumber" width={130} caption="Invoice Number" /> <Column dataField="OrderDate" dataType="date" /> <Column dataField="Employee" groupIndex={0} /> <Column dataField="CustomerStoreCity" caption="City" /> <Column dataField="CustomerStoreState" caption="State" /> <Column dataField="SaleAmount" width={160} alignment="right" format="currency" /> <Column dataField="TotalAmount" width={160} alignment="right" format="currency" /> <Summary> <GroupItem column="OrderNumber" summaryType="count" displayFormat="{0} orders" /> <GroupItem column="SaleAmount" summaryType="max" valueFormat="currency" showInGroupFooter={false} alignByColumn={true} /> <GroupItem column="TotalAmount" summaryType="max" valueFormat="currency" showInGroupFooter={false} alignByColumn={true} /> <GroupItem column="TotalAmount" summaryType="sum" valueFormat="currency" displayFormat="Total: {0}" showInGroupFooter={true} /> </Summary> <SortByGroupSummaryInfo summaryItem="count" /> </DataGrid> ); export default App;
import React from 'react'; import DataGrid, { Column, Selection, Summary, GroupItem, SortByGroupSummaryInfo, Pager, } from 'devextreme-react/data-grid'; import { orders } from './data.js'; const App = () => ( <DataGrid id="gridContainer" dataSource={orders} keyExpr="ID" showBorders={true} > <Selection mode="single" /> <Pager visible={true} /> <Column dataField="OrderNumber" width={130} caption="Invoice Number" /> <Column dataField="OrderDate" dataType="date" /> <Column dataField="Employee" groupIndex={0} /> <Column dataField="CustomerStoreCity" caption="City" /> <Column dataField="CustomerStoreState" caption="State" /> <Column dataField="SaleAmount" width={160} alignment="right" format="currency" /> <Column dataField="TotalAmount" width={160} alignment="right" format="currency" /> <Summary> <GroupItem column="OrderNumber" summaryType="count" displayFormat="{0} orders" /> <GroupItem column="SaleAmount" summaryType="max" valueFormat="currency" showInGroupFooter={false} alignByColumn={true} /> <GroupItem column="TotalAmount" summaryType="max" valueFormat="currency" showInGroupFooter={false} alignByColumn={true} /> <GroupItem column="TotalAmount" summaryType="sum" valueFormat="currency" displayFormat="Total: {0}" showInGroupFooter={true} /> </Summary> <SortByGroupSummaryInfo summaryItem="count" /> </DataGrid> ); export default App;
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.tsx'; ReactDOM.render( <App />, document.getElementById('app'), );
export const orders = [{ ID: 1, OrderNumber: 35703, OrderDate: '2014-04-10', SaleAmount: 11800, Terms: '15 Days', TotalAmount: 12175, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 4, OrderNumber: 35711, OrderDate: '2014-01-12', SaleAmount: 16050, Terms: '15 Days', TotalAmount: 16550, CustomerStoreState: 'California', CustomerStoreCity: 'San Jose', Employee: 'Jim Packard', }, { ID: 5, OrderNumber: 35714, OrderDate: '2014-01-22', SaleAmount: 14750, Terms: '15 Days', TotalAmount: 15250, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 7, OrderNumber: 35983, OrderDate: '2014-02-07', SaleAmount: 3725, Terms: '15 Days', TotalAmount: 3850, CustomerStoreState: 'Colorado', CustomerStoreCity: 'Denver', Employee: 'Todd Hoffman', }, { ID: 9, OrderNumber: 36987, OrderDate: '2014-03-11', SaleAmount: 14200, Terms: '15 Days', TotalAmount: 14800, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 11, OrderNumber: 38466, OrderDate: '2014-03-01', SaleAmount: 7800, Terms: '15 Days', TotalAmount: 8200, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 15, OrderNumber: 39874, OrderDate: '2014-02-04', SaleAmount: 9050, Terms: '30 Days', TotalAmount: 19100, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 18, OrderNumber: 42847, OrderDate: '2014-02-15', SaleAmount: 20400, Terms: '30 Days', TotalAmount: 20800, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 19, OrderNumber: 43982, OrderDate: '2014-05-29', SaleAmount: 6050, Terms: '30 Days', TotalAmount: 6250, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 29, OrderNumber: 56272, OrderDate: '2014-02-06', SaleAmount: 15850, Terms: '30 Days', TotalAmount: 16350, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 30, OrderNumber: 57429, OrderDate: '2013-12-31', SaleAmount: 11050, Terms: '30 Days', TotalAmount: 11400, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { ID: 32, OrderNumber: 58292, OrderDate: '2014-05-13', SaleAmount: 13500, Terms: '15 Days', TotalAmount: 13800, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 36, OrderNumber: 62427, OrderDate: '2014-01-27', SaleAmount: 23500, Terms: '15 Days', TotalAmount: 24000, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 39, OrderNumber: 65977, OrderDate: '2014-02-05', SaleAmount: 2550, Terms: '15 Days', TotalAmount: 2625, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 40, OrderNumber: 66947, OrderDate: '2014-03-23', SaleAmount: 3500, Terms: '15 Days', TotalAmount: 3600, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 42, OrderNumber: 68428, OrderDate: '2014-04-10', SaleAmount: 10500, Terms: '15 Days', TotalAmount: 10900, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 43, OrderNumber: 69477, OrderDate: '2014-03-09', SaleAmount: 14200, Terms: '15 Days', TotalAmount: 14500, CustomerStoreState: 'California', CustomerStoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { ID: 46, OrderNumber: 72947, OrderDate: '2014-01-14', SaleAmount: 13350, Terms: '30 Days', TotalAmount: 13650, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 47, OrderNumber: 73088, OrderDate: '2014-03-25', SaleAmount: 8600, Terms: '30 Days', TotalAmount: 8850, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Reno', Employee: 'Clark Morgan', }, { ID: 50, OrderNumber: 76927, OrderDate: '2014-04-27', SaleAmount: 9800, Terms: '30 Days', TotalAmount: 10050, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 51, OrderNumber: 77297, OrderDate: '2014-04-30', SaleAmount: 10850, Terms: '30 Days', TotalAmount: 11100, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { ID: 56, OrderNumber: 84744, OrderDate: '2014-02-10', SaleAmount: 4650, Terms: '30 Days', TotalAmount: 4750, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 57, OrderNumber: 85028, OrderDate: '2014-05-17', SaleAmount: 2575, Terms: '30 Days', TotalAmount: 2625, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Reno', Employee: 'Clark Morgan', }, { ID: 59, OrderNumber: 87297, OrderDate: '2014-04-21', SaleAmount: 14200, Terms: '30 Days', TotalAmount: 0, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 60, OrderNumber: 88027, OrderDate: '2014-02-14', SaleAmount: 13650, Terms: '30 Days', TotalAmount: 14050, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 65, OrderNumber: 94726, OrderDate: '2014-05-22', SaleAmount: 20500, Terms: '15 Days', TotalAmount: 20800, CustomerStoreState: 'California', CustomerStoreCity: 'San Jose', Employee: 'Jim Packard', }, { ID: 66, OrderNumber: 95266, OrderDate: '2014-03-10', SaleAmount: 9050, Terms: '15 Days', TotalAmount: 9250, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 69, OrderNumber: 98477, OrderDate: '2014-01-01', SaleAmount: 23500, Terms: '15 Days', TotalAmount: 23800, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 70, OrderNumber: 99247, OrderDate: '2014-02-08', SaleAmount: 2100, Terms: '15 Days', TotalAmount: 2150, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 78, OrderNumber: 174884, OrderDate: '2014-04-10', SaleAmount: 7200, Terms: '30 Days', TotalAmount: 7350, CustomerStoreState: 'Colorado', CustomerStoreCity: 'Denver', Employee: 'Todd Hoffman', }, { ID: 81, OrderNumber: 188877, OrderDate: '2014-02-11', SaleAmount: 8750, Terms: '30 Days', TotalAmount: 8900, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { ID: 82, OrderNumber: 191883, OrderDate: '2014-02-05', SaleAmount: 9900, Terms: '30 Days', TotalAmount: 10150, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 83, OrderNumber: 192474, OrderDate: '2014-01-21', SaleAmount: 12800, Terms: '30 Days', TotalAmount: 13100, CustomerStoreState: 'California', CustomerStoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { ID: 84, OrderNumber: 193847, OrderDate: '2014-03-21', SaleAmount: 14100, Terms: '30 Days', TotalAmount: 14350, CustomerStoreState: 'California', CustomerStoreCity: 'San Diego', Employee: 'Harv Mudd', }, { ID: 85, OrderNumber: 194877, OrderDate: '2014-03-06', SaleAmount: 4750, Terms: '30 Days', TotalAmount: 4950, CustomerStoreState: 'California', CustomerStoreCity: 'San Jose', Employee: 'Jim Packard', }, { ID: 86, OrderNumber: 195746, OrderDate: '2014-05-26', SaleAmount: 9050, Terms: '30 Days', TotalAmount: 9250, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 87, OrderNumber: 197474, OrderDate: '2014-03-02', SaleAmount: 6400, Terms: '30 Days', TotalAmount: 6600, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Reno', Employee: 'Clark Morgan', }, { ID: 88, OrderNumber: 198746, OrderDate: '2014-05-09', SaleAmount: 15700, Terms: '30 Days', TotalAmount: 16050, CustomerStoreState: 'Colorado', CustomerStoreCity: 'Denver', Employee: 'Todd Hoffman', }, { ID: 91, OrderNumber: 214222, OrderDate: '2014-02-08T00:00:00', SaleAmount: 11050, Terms: '30 Days', TotalAmount: 11250, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }];
window.exports = window.exports || {}; window.config = { transpiler: 'ts', typescriptOptions: { module: 'system', emitDecoratorMetadata: true, experimentalDecorators: true, jsx: 'react', }, meta: { 'react': { 'esModule': true, }, 'typescript': { 'exports': 'ts', }, 'devextreme/time_zone_utils.js': { 'esModule': true, }, 'devextreme/localization.js': { 'esModule': true, }, 'devextreme/viz/palette.js': { 'esModule': true, }, 'openai': { 'esModule': true, }, }, paths: { 'npm:': 'https://unpkg.com/', 'bundles:': '../../../../bundles/', 'externals:': '../../../../bundles/externals/', }, defaultExtension: 'js', map: { 'ts': 'npm:plugin-typescript@8.0.0/lib/plugin.js', 'typescript': 'npm:typescript@4.2.4/lib/typescript.js', 'jszip': 'npm:jszip@3.10.1/dist/jszip.min.js', 'react': 'npm:react@17.0.2/umd/react.development.js', 'react-dom': 'npm:react-dom@17.0.2/umd/react-dom.development.js', 'prop-types': 'npm:prop-types/prop-types.js', 'rrule': 'npm:rrule@2.6.4/dist/es5/rrule.js', 'luxon': 'npm:luxon@3.4.4/build/global/luxon.min.js', 'es6-object-assign': 'npm:es6-object-assign', 'devextreme': 'npm:devextreme@link:../../packages/devextreme/artifacts/npm/devextreme/cjs', 'devextreme-react': 'npm:devextreme-react@link:../../packages/devextreme-react/npm/cjs', 'devextreme-quill': 'npm:devextreme-quill@1.7.1/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.2.5/dist/dx-diagram.js', 'devexpress-gantt': 'npm:devexpress-gantt@4.1.54/dist/dx-gantt.js', '@devextreme/runtime': 'npm:@devextreme/runtime@3.0.12', 'inferno': 'npm:inferno@7.4.11/dist/inferno.min.js', 'inferno-compat': 'npm:inferno-compat/dist/inferno-compat.min.js', 'inferno-create-element': 'npm:inferno-create-element@7.4.11/dist/inferno-create-element.min.js', 'inferno-dom': 'npm:inferno-dom/dist/inferno-dom.min.js', 'inferno-hydrate': 'npm:inferno-hydrate/dist/inferno-hydrate.min.js', 'inferno-clone-vnode': 'npm:inferno-clone-vnode/dist/inferno-clone-vnode.min.js', 'inferno-create-class': 'npm:inferno-create-class/dist/inferno-create-class.min.js', 'inferno-extras': 'npm:inferno-extras/dist/inferno-extras.min.js', 'devextreme-cldr-data': 'npm:devextreme-cldr-data@1.0.3', // SystemJS plugins 'plugin-babel': 'npm:systemjs-plugin-babel@0.0.25/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0.0.25/systemjs-babel-browser.js', // Prettier 'prettier/standalone': 'npm:prettier@2.8.8/standalone.js', 'prettier/parser-html': 'npm:prettier@2.8.8/parser-html.js', }, packages: { 'devextreme': { defaultExtension: 'js', }, 'devextreme-react': { main: 'index.js', }, 'devextreme/events/utils': { main: 'index', }, 'devextreme/localization/messages': { format: 'json', defaultExtension: 'json', }, 'devextreme/events': { main: 'index', }, 'es6-object-assign': { main: './index.js', defaultExtension: 'js', }, }, packageConfigPaths: [ 'npm:@devextreme/*/package.json', 'npm:@devextreme/runtime@3.0.12/inferno/package.json', ], babelOptions: { sourceMaps: false, stage0: true, react: true, }, }; System.config(window.config);
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.js'; ReactDOM.render(<App />, document.getElementById('app'));
export const orders = [ { ID: 1, OrderNumber: 35703, OrderDate: '2014-04-10', SaleAmount: 11800, Terms: '15 Days', TotalAmount: 12175, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 4, OrderNumber: 35711, OrderDate: '2014-01-12', SaleAmount: 16050, Terms: '15 Days', TotalAmount: 16550, CustomerStoreState: 'California', CustomerStoreCity: 'San Jose', Employee: 'Jim Packard', }, { ID: 5, OrderNumber: 35714, OrderDate: '2014-01-22', SaleAmount: 14750, Terms: '15 Days', TotalAmount: 15250, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 7, OrderNumber: 35983, OrderDate: '2014-02-07', SaleAmount: 3725, Terms: '15 Days', TotalAmount: 3850, CustomerStoreState: 'Colorado', CustomerStoreCity: 'Denver', Employee: 'Todd Hoffman', }, { ID: 9, OrderNumber: 36987, OrderDate: '2014-03-11', SaleAmount: 14200, Terms: '15 Days', TotalAmount: 14800, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 11, OrderNumber: 38466, OrderDate: '2014-03-01', SaleAmount: 7800, Terms: '15 Days', TotalAmount: 8200, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 15, OrderNumber: 39874, OrderDate: '2014-02-04', SaleAmount: 9050, Terms: '30 Days', TotalAmount: 19100, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 18, OrderNumber: 42847, OrderDate: '2014-02-15', SaleAmount: 20400, Terms: '30 Days', TotalAmount: 20800, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 19, OrderNumber: 43982, OrderDate: '2014-05-29', SaleAmount: 6050, Terms: '30 Days', TotalAmount: 6250, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 29, OrderNumber: 56272, OrderDate: '2014-02-06', SaleAmount: 15850, Terms: '30 Days', TotalAmount: 16350, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 30, OrderNumber: 57429, OrderDate: '2013-12-31', SaleAmount: 11050, Terms: '30 Days', TotalAmount: 11400, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { ID: 32, OrderNumber: 58292, OrderDate: '2014-05-13', SaleAmount: 13500, Terms: '15 Days', TotalAmount: 13800, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 36, OrderNumber: 62427, OrderDate: '2014-01-27', SaleAmount: 23500, Terms: '15 Days', TotalAmount: 24000, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 39, OrderNumber: 65977, OrderDate: '2014-02-05', SaleAmount: 2550, Terms: '15 Days', TotalAmount: 2625, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 40, OrderNumber: 66947, OrderDate: '2014-03-23', SaleAmount: 3500, Terms: '15 Days', TotalAmount: 3600, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 42, OrderNumber: 68428, OrderDate: '2014-04-10', SaleAmount: 10500, Terms: '15 Days', TotalAmount: 10900, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 43, OrderNumber: 69477, OrderDate: '2014-03-09', SaleAmount: 14200, Terms: '15 Days', TotalAmount: 14500, CustomerStoreState: 'California', CustomerStoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { ID: 46, OrderNumber: 72947, OrderDate: '2014-01-14', SaleAmount: 13350, Terms: '30 Days', TotalAmount: 13650, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 47, OrderNumber: 73088, OrderDate: '2014-03-25', SaleAmount: 8600, Terms: '30 Days', TotalAmount: 8850, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Reno', Employee: 'Clark Morgan', }, { ID: 50, OrderNumber: 76927, OrderDate: '2014-04-27', SaleAmount: 9800, Terms: '30 Days', TotalAmount: 10050, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 51, OrderNumber: 77297, OrderDate: '2014-04-30', SaleAmount: 10850, Terms: '30 Days', TotalAmount: 11100, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { ID: 56, OrderNumber: 84744, OrderDate: '2014-02-10', SaleAmount: 4650, Terms: '30 Days', TotalAmount: 4750, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 57, OrderNumber: 85028, OrderDate: '2014-05-17', SaleAmount: 2575, Terms: '30 Days', TotalAmount: 2625, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Reno', Employee: 'Clark Morgan', }, { ID: 59, OrderNumber: 87297, OrderDate: '2014-04-21', SaleAmount: 14200, Terms: '30 Days', TotalAmount: 0, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 60, OrderNumber: 88027, OrderDate: '2014-02-14', SaleAmount: 13650, Terms: '30 Days', TotalAmount: 14050, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 65, OrderNumber: 94726, OrderDate: '2014-05-22', SaleAmount: 20500, Terms: '15 Days', TotalAmount: 20800, CustomerStoreState: 'California', CustomerStoreCity: 'San Jose', Employee: 'Jim Packard', }, { ID: 66, OrderNumber: 95266, OrderDate: '2014-03-10', SaleAmount: 9050, Terms: '15 Days', TotalAmount: 9250, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 69, OrderNumber: 98477, OrderDate: '2014-01-01', SaleAmount: 23500, Terms: '15 Days', TotalAmount: 23800, CustomerStoreState: 'Wyoming', CustomerStoreCity: 'Casper', Employee: 'Todd Hoffman', }, { ID: 70, OrderNumber: 99247, OrderDate: '2014-02-08', SaleAmount: 2100, Terms: '15 Days', TotalAmount: 2150, CustomerStoreState: 'Utah', CustomerStoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { ID: 78, OrderNumber: 174884, OrderDate: '2014-04-10', SaleAmount: 7200, Terms: '30 Days', TotalAmount: 7350, CustomerStoreState: 'Colorado', CustomerStoreCity: 'Denver', Employee: 'Todd Hoffman', }, { ID: 81, OrderNumber: 188877, OrderDate: '2014-02-11', SaleAmount: 8750, Terms: '30 Days', TotalAmount: 8900, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { ID: 82, OrderNumber: 191883, OrderDate: '2014-02-05', SaleAmount: 9900, Terms: '30 Days', TotalAmount: 10150, CustomerStoreState: 'California', CustomerStoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { ID: 83, OrderNumber: 192474, OrderDate: '2014-01-21', SaleAmount: 12800, Terms: '30 Days', TotalAmount: 13100, CustomerStoreState: 'California', CustomerStoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { ID: 84, OrderNumber: 193847, OrderDate: '2014-03-21', SaleAmount: 14100, Terms: '30 Days', TotalAmount: 14350, CustomerStoreState: 'California', CustomerStoreCity: 'San Diego', Employee: 'Harv Mudd', }, { ID: 85, OrderNumber: 194877, OrderDate: '2014-03-06', SaleAmount: 4750, Terms: '30 Days', TotalAmount: 4950, CustomerStoreState: 'California', CustomerStoreCity: 'San Jose', Employee: 'Jim Packard', }, { ID: 86, OrderNumber: 195746, OrderDate: '2014-05-26', SaleAmount: 9050, Terms: '30 Days', TotalAmount: 9250, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { ID: 87, OrderNumber: 197474, OrderDate: '2014-03-02', SaleAmount: 6400, Terms: '30 Days', TotalAmount: 6600, CustomerStoreState: 'Nevada', CustomerStoreCity: 'Reno', Employee: 'Clark Morgan', }, { ID: 88, OrderNumber: 198746, OrderDate: '2014-05-09', SaleAmount: 15700, Terms: '30 Days', TotalAmount: 16050, CustomerStoreState: 'Colorado', CustomerStoreCity: 'Denver', Employee: 'Todd Hoffman', }, { ID: 91, OrderNumber: 214222, OrderDate: '2014-02-08T00:00:00', SaleAmount: 11050, Terms: '30 Days', TotalAmount: 11250, CustomerStoreState: 'Arizona', CustomerStoreCity: 'Phoenix', Employee: 'Clark Morgan', }, ];
<!DOCTYPE html> <html lang="en"> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/24.2.3/css/dx.light.css" /> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src="https://unpkg.com/core-js@2.6.12/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import("./index.tsx"); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"></div> </div> </body> </html>
#gridContainer { height: 440px; }

Position a Group Summary

Group summaries are displayed in parentheses after the group caption. You can reposition them as follows:

  • Display a summary in a column
    You can align a summary to its corresponding column (see the Sale Amount and Total Amount columns). To do this, enable the alignByColumn property. If you want to align a summary to a different column, specify the showInColumn property.

  • Display Summary Values within Group Footers
    You can make a summary item display its values within group footers. To do this, enable the showInGroupFooter property. Summary items will appear within their corresponding columns (see the Total Amount column). If you want to display summaries in another column, specify the showInColumn property.

Format Summary Values

To format summary values, use the valueFormat property. This demo applies the "currency" format to summary values calculated against the Total Amount and Sale Amount columns. If you also want to add custom text to summary values, use the displayFormat property. This demo sets this property for summaries of "sum" and "count" types.

Sort Groups by Summary Values

This demo sorts groups by summary values (the number of orders). To do this, the code adds an object to the sortByGroupSummaryInfo array. The object specifies the summaryItem whose values are used to sort the group rows.