{
    "componentChunkName": "component---src-templates-doc-page-jsx",
    "path": "/angular-data-grid/grouping-footers/",
    "result": {"data":{"markdownRemark":{"htmlAst":{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This section shows how to add group footers to show group level totals."}]},{"type":"element","tagName":"h2","properties":{"id":"enabling-group-footers","style":"position:relative;"},"children":[{"type":"text","value":"Enabling Group Footers"},{"type":"element","tagName":"a","properties":{"href":"#enabling-group-footers","ariaLabel":"enabling group footers permalink","className":["docs-header-icon","after"]},"children":[{"type":"element","tagName":"svg","properties":{"id":"icon","xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 32 32"},"children":[{"type":"element","tagName":"path","properties":{"d":"M29.25,6.76a6,6,0,0,0-8.5,0l1.42,1.42a4,4,0,1,1,5.67,5.67l-8,8a4,4,0,1,1-5.67-5.66l1.41-1.42-1.41-1.42-1.42,1.42a6,6,0,0,0,0,8.5A6,6,0,0,0,17,25a6,6,0,0,0,4.27-1.76l8-8A6,6,0,0,0,29.25,6.76Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M4.19,24.82a4,4,0,0,1,0-5.67l8-8a4,4,0,0,1,5.67,0A3.94,3.94,0,0,1,19,14a4,4,0,0,1-1.17,2.85L15.71,19l1.42,1.42,2.12-2.12a6,6,0,0,0-8.51-8.51l-8,8a6,6,0,0,0,0,8.51A6,6,0,0,0,7,28a6.07,6.07,0,0,0,4.28-1.76L9.86,24.82A4,4,0,0,1,4.19,24.82Z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If you want to include a footer with each group, set the property "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"groupIncludeFooter"}]},{"type":"text","value":" to true. It is also possible to\ninclude a 'grand' total footer for all groups using the property "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"groupIncludeTotalFooter"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"snippet","properties":{},"children":[{"type":"text","value":"\nconst gridOptions = {\n    // adds subtotals\n    groupIncludeFooter: true,\n    // includes grand total\n    groupIncludeTotalFooter: true,\n}\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Note that these properties can be used together to produce totals across all group levels."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The following example demonstrates these properties. Note the following:"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Expanding groups reveals subtotal footers as "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"groupIncludeFooter = true"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"A grand total footer is shown as the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"groupIncludeTotalFooter = true"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"The medal totals are "},{"type":"element","tagName":"a","properties":{"href":"/archive/29.3.0/aggregation/"},"children":[{"type":"text","value":"aggregated"}]},{"type":"text","value":" via the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"aggFunc: 'sum'"}]},{"type":"text","value":" column property."}]},{"type":"text","value":"\n"}]},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"grid-example","properties":{"title":"Enabling Group Footers","name":"enabling-group-footers","type":"generated","options":"{ \"enterprise\": true, \"exampleHeight\": 503, \"modules\": [\"clientside\", \"rowgrouping\"] }"},"children":[]}]},{"type":"element","tagName":"h2","properties":{"id":"customising-footer-values","style":"position:relative;"},"children":[{"type":"text","value":"Customising Footer Values"},{"type":"element","tagName":"a","properties":{"href":"#customising-footer-values","ariaLabel":"customising footer values permalink","className":["docs-header-icon","after"]},"children":[{"type":"element","tagName":"svg","properties":{"id":"icon","xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 32 32"},"children":[{"type":"element","tagName":"path","properties":{"d":"M29.25,6.76a6,6,0,0,0-8.5,0l1.42,1.42a4,4,0,1,1,5.67,5.67l-8,8a4,4,0,1,1-5.67-5.66l1.41-1.42-1.41-1.42-1.42,1.42a6,6,0,0,0,0,8.5A6,6,0,0,0,17,25a6,6,0,0,0,4.27-1.76l8-8A6,6,0,0,0,29.25,6.76Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M4.19,24.82a4,4,0,0,1,0-5.67l8-8a4,4,0,0,1,5.67,0A3.94,3.94,0,0,1,19,14a4,4,0,0,1-1.17,2.85L15.71,19l1.42,1.42,2.12-2.12a6,6,0,0,0-8.51-8.51l-8,8a6,6,0,0,0,0,8.51A6,6,0,0,0,7,28a6.07,6.07,0,0,0,4.28-1.76L9.86,24.82A4,4,0,0,1,4.19,24.82Z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"By default, the footer will display the word 'Total' followed by the group key. However, this can be changed using the\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"footerValueGetter"}]},{"type":"text","value":" supplied to the "},{"type":"element","tagName":"a","properties":{"href":"/archive/29.3.0/group-cell-renderer/"},"children":[{"type":"text","value":"Group Cell Renderer"}]},{"type":"text","value":" params as shown below: "}]},{"type":"element","tagName":"snippet","properties":{},"children":[{"type":"text","value":"\nconst gridOptions = {\n    autoGroupColumnDef: { \n        cellRendererParams: {\n            footerValueGetter: params =>  {\n                const isRootLevel = params.node.level === -1;\n                if (isRootLevel) {\n                    return 'Grand Total';\n                }\n                return `Sub Total (${params.value})`;\n            },\n        }\n    },\n}\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Note in the snippet above that the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"footerValueGetter"}]},{"type":"text","value":" contains special handling to display Subtotals and Grand Totals\ndifferently. This is demonstrated in the example below."}]},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"grid-example","properties":{"title":"Customising Footer Values","name":"customising-footer-values","type":"generated","options":"{ \"enterprise\": true, \"exampleHeight\": 503, \"modules\": [\"clientside\", \"rowgrouping\"] }"},"children":[]}]},{"type":"element","tagName":"h2","properties":{"id":"customising-footer-cells","style":"position:relative;"},"children":[{"type":"text","value":"Customising Footer Cells"},{"type":"element","tagName":"a","properties":{"href":"#customising-footer-cells","ariaLabel":"customising footer cells permalink","className":["docs-header-icon","after"]},"children":[{"type":"element","tagName":"svg","properties":{"id":"icon","xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 32 32"},"children":[{"type":"element","tagName":"path","properties":{"d":"M29.25,6.76a6,6,0,0,0-8.5,0l1.42,1.42a4,4,0,1,1,5.67,5.67l-8,8a4,4,0,1,1-5.67-5.66l1.41-1.42-1.41-1.42-1.42,1.42a6,6,0,0,0,0,8.5A6,6,0,0,0,17,25a6,6,0,0,0,4.27-1.76l8-8A6,6,0,0,0,29.25,6.76Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M4.19,24.82a4,4,0,0,1,0-5.67l8-8a4,4,0,0,1,5.67,0A3.94,3.94,0,0,1,19,14a4,4,0,0,1-1.17,2.85L15.71,19l1.42,1.42,2.12-2.12a6,6,0,0,0-8.51-8.51l-8,8a6,6,0,0,0,0,8.51A6,6,0,0,0,7,28a6.07,6.07,0,0,0,4.28-1.76L9.86,24.82A4,4,0,0,1,4.19,24.82Z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In most cases "},{"type":"element","tagName":"a","properties":{"href":"../grouping-footers/#customising-footer-values"},"children":[{"type":"text","value":"Customising Footer Values"}]},{"type":"text","value":" is sufficient, however it is\nalso possible to customise the footer cell using the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"innerCellRenderer"}]},{"type":"text","value":" supplied to the\n"},{"type":"element","tagName":"a","properties":{"href":"/archive/29.3.0/group-cell-renderer/"},"children":[{"type":"text","value":"Group Cell Renderer"}]},{"type":"text","value":" params as shown below:"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In the example below the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"innerRenderer"}]},{"type":"text","value":" contains special handling to display Grand Total, Subtotal and\nnon-footer cells differently."}]},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"grid-example","properties":{"title":"Customising Footer Cells","name":"customising-footer-cells","type":"mixed","options":"{ \"enterprise\": true, \"exampleHeight\": 503, \"modules\": [\"clientside\", \"rowgrouping\"] }"},"children":[]}]},{"type":"element","tagName":"div","properties":{"className":["custom-block","note"]},"children":[{"type":"element","tagName":"div","properties":{"className":["custom-block-body"]},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It is also possible to customise footer cells using: "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"cellRendererParams.innerRendererSelector"}]},{"type":"text","value":". For more details see the "},{"type":"element","tagName":"a","properties":{"href":"/archive/29.3.0/group-cell-renderer/"},"children":[{"type":"text","value":"Group Cell Renderer"}]},{"type":"text","value":" section."}]}]}]},{"type":"element","tagName":"h2","properties":{"id":"group-footer-limitations","style":"position:relative;"},"children":[{"type":"text","value":"Group Footer Limitations"},{"type":"element","tagName":"a","properties":{"href":"#group-footer-limitations","ariaLabel":"group footer limitations permalink","className":["docs-header-icon","after"]},"children":[{"type":"element","tagName":"svg","properties":{"id":"icon","xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 32 32"},"children":[{"type":"element","tagName":"path","properties":{"d":"M29.25,6.76a6,6,0,0,0-8.5,0l1.42,1.42a4,4,0,1,1,5.67,5.67l-8,8a4,4,0,1,1-5.67-5.66l1.41-1.42-1.41-1.42-1.42,1.42a6,6,0,0,0,0,8.5A6,6,0,0,0,17,25a6,6,0,0,0,4.27-1.76l8-8A6,6,0,0,0,29.25,6.76Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M4.19,24.82a4,4,0,0,1,0-5.67l8-8a4,4,0,0,1,5.67,0A3.94,3.94,0,0,1,19,14a4,4,0,0,1-1.17,2.85L15.71,19l1.42,1.42,2.12-2.12a6,6,0,0,0-8.51-8.51l-8,8a6,6,0,0,0,0,8.51A6,6,0,0,0,7,28a6.07,6.07,0,0,0,4.28-1.76L9.86,24.82A4,4,0,0,1,4.19,24.82Z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Group footers are a UI concept only in the grid. It is the grids way of showing aggregated data (which belongs to the group) appearing after the group's children. Because the footer is a UI concept only, the following should be noted:"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"It is not possible to select footer nodes. Footer rows appear selected when the group is selected."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"When exporting custom footers to Excel/CSV, the "},{"type":"element","tagName":"a","properties":{"href":"../excel-export-customising-content/"},"children":[{"type":"text","value":"processRowGroupCallback"}]},{"type":"text","value":" function of the export must be used to export the custom values."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"When copying custom footers to the Clipboard, the "},{"type":"element","tagName":"a","properties":{"href":"../clipboard/#processing-individual-cells"},"children":[{"type":"text","value":"processCellForClipboard"}]},{"type":"text","value":" function of the clipboard must be used to export the custom values."}]},{"type":"text","value":"\n"}]},{"type":"element","tagName":"h2","properties":{"id":"next-up","style":"position:relative;"},"children":[{"type":"text","value":"Next Up"},{"type":"element","tagName":"a","properties":{"href":"#next-up","ariaLabel":"next up permalink","className":["docs-header-icon","after"]},"children":[{"type":"element","tagName":"svg","properties":{"id":"icon","xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 32 32"},"children":[{"type":"element","tagName":"path","properties":{"d":"M29.25,6.76a6,6,0,0,0-8.5,0l1.42,1.42a4,4,0,1,1,5.67,5.67l-8,8a4,4,0,1,1-5.67-5.66l1.41-1.42-1.41-1.42-1.42,1.42a6,6,0,0,0,0,8.5A6,6,0,0,0,17,25a6,6,0,0,0,4.27-1.76l8-8A6,6,0,0,0,29.25,6.76Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M4.19,24.82a4,4,0,0,1,0-5.67l8-8a4,4,0,0,1,5.67,0A3.94,3.94,0,0,1,19,14a4,4,0,0,1-1.17,2.85L15.71,19l1.42,1.42,2.12-2.12a6,6,0,0,0-8.51-8.51l-8,8a6,6,0,0,0,0,8.51A6,6,0,0,0,7,28a6.07,6.07,0,0,0,4.28-1.76L9.86,24.82A4,4,0,0,1,4.19,24.82Z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Continue to the next section to learn about "},{"type":"element","tagName":"a","properties":{"href":"../grouping-opening-groups/"},"children":[{"type":"text","value":"Opening Groups"}]},{"type":"text","value":"."}]}]},"frontmatter":{"title":"Row Grouping - Group Footers","version":null,"enterprise":true,"sideMenu":null,"description":null},"headings":[{"id":"enabling-group-footers","depth":2,"value":"Enabling Group Footers"},{"id":"customising-footer-values","depth":2,"value":"Customising Footer Values"},{"id":"customising-footer-cells","depth":2,"value":"Customising Footer Cells"},{"id":"group-footer-limitations","depth":2,"value":"Group Footer Limitations"},{"id":"next-up","depth":2,"value":"Next Up"}]}},"pageContext":{"frameworks":["javascript","react","angular","vue"],"framework":"angular","srcPath":"/grouping-footers","pageName":"grouping-footers"}},
    "staticQueryHashes": ["1766026005","699667431","940729948"]}