Full React rendering, Column Filtering Improvements, Sparklines Crosshair, Accessibility Support Improvements
What's New Copy Link
AG Grid 27.0 adds many new features - full React rendering, Column Filtering Improvements, Sparklines Crosshair and Accessibility Support Improvements.
Documentation Copy Link
See AG Grid 27.0 Documentation.
Breaking Changes Copy Link
Supported Environments Copy Link
AG Grid 27 does not support Polymer, Angular 7, AngularJS and Internet Explorer 11. If you are using Polymer, Angular 7, AngularJS or need to support Internet Explorer 11 please use AG Grid 26, which will be a long-term support release. You will still be able to report issues against AG Grid 26 and we will release new minor versions of AG Grid 26 to address these.
Server-Side Row Model Copy Link
getRowNodeId()is now required when Row Selection is enabled in the Server-Side Row Model.
React / Angular / Vue Copy Link
get{comp-name}Instance[s]()(e.g.,getCellRendererInstances) is no longer needed. These methods now return the React / Angular / Vue component if one exists.
Clipboard Copy Link
- The following methods now accept parameterized objects:
copySelectedRowsToClipboard(params?: IClipboardCopyRowsParams)copySelectedRangeToClipboard(params?: IClipboardCopyParams)
- Cell values copied exclusively from the same row are now pasted in the same row (previously, each copied value was pasted on a separate row). Cell values are now copied in the order they appear in the grid (previously, cell values were copied in the order of selection).
Integrated Charts Copy Link
- TypeScript users will need to replace the
ChartTypeenum with the corresponding string literal. For example,ChartType.GroupedColumnshould be changed to'groupedColumn'.
Removal of Deprecated APIs Copy Link
Rendering Copy Link
- The following methods were previously deprecated and have now been removed:
gridApi.refreshView()- usegridApi.refreshCells()orgridApi.redrawRows()instead.gridApi.refreshRows()- usegridApi.refreshCells()orgridApi.redrawRows()instead.gridApi.rowDataChanged- userowNode.setRowData(newData)to set value on a particular node, orredrawRowsto refresh everything.gridApi.refreshGroupRows()- usegridApi.refreshCells()instead.gridApi.refreshCells()now performs dirty checking and only refreshes cells that have changed, so it should not be necessary to only refresh the group rows.
Sorting Copy Link
gridApi.setSortModel()andgridApi.getSortModel()were previously deprecated and have now been removed. Sort information is now part of Column State. UsecolumnApi.applyColumnState()andcolumnApi.getColumnState()instead.
Filters Copy Link
The following Filter Options / APIs were previously deprecated and have now been removed:
GridOptions
floatingFilter- removed, useColDef.floatingFilterinstead.enableOldSetFilterModel- removed, use the current model structure for SetFilter instead.
GridApi
isAdvancedFilterPresent()- removed, useisColumnFilterPresent()instead.getFilterApiForColDef()- removed, usegetFilterInstance()instead.getFilterApi()- removed, usegetFilterInstance()instead.
IFilterParams
valueGetter()callback arguments have changed. They are no longer a solitaryRowNode, but an object conforming to theValueGetterFuncinterface contract for consistency with othervalueGetterparameters across the grid.
IFloatingFilterParams
onFloatingFilterChanged()- removed, useparentFilterInstance()callback instead.
IProvidedFilterParams
clearButton,resetButton, andapplyButton- removed, usebuttonsinstead.
IScalarFilterParams
nullComparatorandNullComparator- removed, useincludeBlanksInEquals,includeBlanksInLessThan, andincludeBlanksInGreaterThaninstead.
Filter
- The
Filterinterface has been completely removed. UseIFilterinstead.
ProvidedFilter
onFilterChanged()- removed, useapi.onFilterChanged()instead.
ISetFilterParams
syncValuesLikeExcel- removed; this has been the default since deprecation in v22.0.0.selectAllOnMiniFilter- removed; this has been the default since deprecation in v22.0.0.suppressSyncValuesAfterDataChange- removed.suppressRemoveEntries- removed.newRowsActionhas now been removed; the previous'keep'setting is now the default.
SetFilter
setLoadingis now handled automatically.selectEverything()- removed, usesetModel()instead.selectNothing()- removed, usesetModel()instead.unselectValue()- removed, usesetModel()instead.selectValue()- removed, usesetModel()instead.isValueSelected()- removed, usegetModel()instead.isEverythingSelected()- removed, usegetModel()instead.isNothingSelected()- removed, usegetModel()instead.getUniqueValueCount()- removed, usegetValues()instead.getUniqueValue()- removed, usegetValues()instead.
Deprecations Copy Link
This release includes the following deprecations:
Components Copy Link
{comp-name}Framework(e.g.,cellRendererFramework) is no longer required for assigning Custom Framework Components. Use{comp-name}(e.g.,cellRenderer) instead. Likewise, the grid propertyframeworkComponentsis deprecated; use the grid propertycomponentsinstead.
Keyboard Navigation Copy Link
gridOptions.suppressCellSelectionis deprecated; usegridOptions.suppressCellFocusinstead.- The following interfaces have deprecated properties:
StartEditingCellParams { keyPress: number }useStartEditingCellParams { key: string }instead.ICellEditorParams { keyPress: number }useICellEditorParams { key: string }instead.IRichCellEditorParams { keyPress: number }useIRichCellEditorParams { key: string }instead.ILargeTextEditorParams { keyPress: number }useILargeTextEditorParams { key: string }instead.ISelectCellEditorParams { keyPress: number }useISelectCellEditorParams { key: string }instead.ITextCellEditorParams { keyPress: number }useITextCellEditorParams { key: string }instead.NavigateToNextCellParams { key: number }useNavigateToNextCellParams { key: string }instead.
Columns Copy Link
gridApi.getOriginalColumnGroup()is deprecated; usegridApi.getProvidedColumnGroup()instead.
Filters Copy Link
ITextFilterParams.textCustomComparatoris deprecated; useITextFilterParams.textMatcherinstead.
Changes List Copy Link
If you would like to see the full list of changes in this release, please see the Changelog.