Summary
Feature
Displays a summary row in the grid footer.
On each column you can specify the type of sum, available types are:
| Type | Description |
|---|---|
sum |
Sum of all values in the column |
add |
Alias for sum |
count |
Number of rows |
countNotEmpty |
Number of rows containing a value |
average |
Average of all values in the column |
function |
A custom function, used with store.reduce. Should take arguments (sum, record) |
Columns can also specify a summaryRenderer to format the calculated sum.
This feature is disabled by default.
{ text : 'Score', data : 'score', width : 80, sum : 'sum' }
{ text : 'Rank', data : 'rank', width : 80, sum : 'average', summaryRenderer: ({ sum }) => return 'Average rank ' + sum }
Also, it is possible to set up multiple summaries as array of summary configs:
{ text : 'Rank', data : 'rank', summaries : [{ sum : 'average', label : 'Average' }, { sum : 'count', label : 'Count' }] }
See also
- GroupSummary - Summary rows within groups
- sum - Per-column summary config
Configs
Configs are options you supply in a configuration object when creating an instance of this class-
Set to
trueto only refresh columns with fields matching the changed fields after a field updateHas a corresponding runtime refreshOnlyAffectedSummaries property.
-
Set to
trueto sum values of selected row recordsHas a corresponding runtime selectedOnly property.
Properties
Properties are getters/setters or publicly accessible variables on this class-
Identifies an object as an instance of Summary class, or subclass thereof.
-
Set to
trueto only refresh columns with fields matching the changed fields after a field updateHas a corresponding refreshOnlyAffectedSummaries config.
-
Set to
trueto sum values of selected row recordsHas a corresponding selectedOnly config.
-
Identifies an object as an instance of Summary class, or subclass thereof.
Functions
Functions are methods available for calling on the class-
onStoreChange( )private
Updates summaries on store changes (except record update, handled below)
-
refresh( )
Refreshes the summaries
-
refreshSummaries( )private
Updates summaries. Summaries are displayed as tables in footer (styling left out to keep brief):
<table> <tr><td colspan="2">0</td></tr> // { sum : 'min' } Only a calculation, span entire table <tr><td>Max</td><td>10</td></tr> // { sum : 'max', label: 'Max' } Label + calculation <tr><td>Max</td><td>10</td></tr> // { sum : 'sum', label: 'Max' } Label + calculation </table>