Using ag-Grid

AdapTable is designed to integrate and extend with ag-Grid - which is by far the most advanced, powerful, performant and feature-rich HTML5 DataGrid control on the market.

The 2 products are intended to complement each other, and togther they offer the most advanced DataGrid experience on the market.

Supported Versions

AdapTable will support the most recent version of ag-Grid. Recently supported versions are as follows:

ag-Grid VersionAdapTable Version
ag-Grid v.25AdapTable v.8.0
ag-Grid v.24AdapTable v.7.1
ag-Grid v.23AdapTable v.7.0
ag-Grid v.22AdapTable v.6.0

ag-Grid Framework Wrappers

ag-Grid offers multiple versions for each of the major Frameworks - e.g. React, Angular, Vue, Ember etc.

Currently AdapTable supports the first 2 of these, providinga a React Wrapper and an Angular Wrapper, each of which wraps the equivalent ag-Grid package.

caution

In version 7 of AdapTable you need to provide both the AdapTable and equivalent ag-Grid component when using a Wrapper.

ag-Grid Enterprise Edition

AdapTable is designed to work seamlessly with ag-grid Enterprise Edition (currently version 23).

In Version 22 ag-Grid introduced modularisation to manage package size and provide more flexibility.

AdapTable supports this fully and will always check if a required module is present before adding its supporting code (e.g. when providing extra menu options).

ag-Grid Community Edition

Most AdapTable users integrate with ag-Grid Enterprise Edition (or whichever Enterprise modules they require).

However some users prefer to use AdapTable with the free ag-Grid Community Edition.

The good news is that AdapTable still works and all advanced features like Calculated Columns, State Management, Team Sharing, Audit Log etc are entirely unaffected - see the demo.

When working with ag-Grid Community Edition, AdapTable will display its own Column Header Menu (with the full available list of menu options - both Predefined and User-provided), as the ag-Grid Column Menu is available in Enterprise only.

At present there is no Context Menu available when using the Community Edition but this will be rectified in a forthcoming release.

What's Missing

There are some Adaptable Functions that are not available in ag-Grid Community edition as they rely on missing Enterprise features. These are:

FunctionReason
Cell SummaryRelies on range-selection Module
Export (to Excel)Requires excel-export Module
Layouts (Pivot)Pivoting only available in Enterprise
Layouts (Row Groups)Row Grouping only available in Enterprise

Likewise the following plugins will not work:

PluginReason
Master-DetailMaster-Detail only available in Enterprise

Finally, AdapTable frequently provides extra functionality to advanced features in ag-Grid, which is not relevant if these features are missing. This includes:

FunctionalityReason
Tree View SupportTreeView Data only available in Enterprise
Context (but NOT Column) MenuRequires menu Module
Row Grouping SupportRow Grouping only available in Enterprise
Column Grouping SupportColumn Grouping only available in Enterprise

Anything not included in this list can be assumed to be available when working with the ag-Grid Community Edition.

Themes

AdapTable supports ag-Grid Theming.

If you use AdapTable's Dark Theme then it will automatically switch to the ag-Grid dark theme that has been supplied (either the new Alpine or older Balham theme).

ag-Grid Key Features Support

There are very many powerful and advanced features in ag-Grid.

This section looks at what AdapTable does to support them - and any additional options or functionality it provides in these areas.

Row Grouping

One of the most powerful and useful functionalities in ag-Grid is Row Grouping

This is fully supported by AdapTable which, additionally, offers the following related features:

  • RowGroupedColumns property in the Layout object in Layout Predefined Config allows for Row Groups to be defined at design-time (and kept updated at run-time)

  • includeExpandedRowGroups option in Layout Options will ensure that Layouts will persist details of which Row Groups are currently open

note

This is persisted in the ExpandedRowGroupValues property of the Layout object in Layout State

  • Ungroup Column menu item will be added to the Row Group's Column Menu
tip

This is very useful and easy mechanism to remove grouping, particularly where the column being grouped is not visible in the grid

  • Custom Sorts which have been set for a Column will be automatically applied also when its row-grouped.

Aggregations

Related to Row Grouping are ag-Grid Aggregations

This, too, is supported by AdapTable with these additional features:

  • AggregationColumns property in the Layout object in Layout Predefined Config enables Aggregations to be defined at design-time (and kept updated at run-time)

  • showGroupingTotalsAsHeader option in General Options will display any aggregations for the whole grid at the top (the default is at the bottom through the groupIncludeTotalFooter property of Grid Options)

info

The Layout Editor makes it easy to set aggregations for Columns at run-time

Pivoting

Pivoting is one of the most powerful features that ag-Grid provides.

AdapTable supports Pivoting fully in its Layouts enabling the creation of special pivot layouts.

This is done primarily through the Pivot Columns property of Layout Predefined Config.

One nice feature that AdapTable provides is that any Custom Sorts which have been set for a Column will be automatically applied also when its being pivoted.

Column Grouping

AdapTable fully supports ag-Grid Column Grouping and will ensure that all Column Group rules are respected (e.g. when adding special columns like Calculated Columns or Free Text Columns).

Additionally, the Layout Editor will ensure that column grouping is respected when columns are re-ordered.

Master / Detail Grids

AdapTable supports ag-Grid Master Detail Grids.

This is done via the Master Detail Plugin which enables all the detail grids to share common state and behaviour.

Tree View

AdapTable supports ag-Grid Tree View Grids.

However it does not add any extra features in this area.

Column Pinning

AdapTable supports ag-Grid Column Pinning, primarily through Layouts.

Pinning information can be provided at Design Time (through Layout Predefined Config) or saved automatically at run-time as the result of user actions in the Grid.

Further Information