# What's new in Grid v5.3.0

## AjaxHelper.fetch now supports passing parameters in request body

Since this release [AjaxHelper.fetch](#Core/helper/AjaxHelper#function-fetch-static) method can pass provided `queryParams`
in the request body instead of query string. This happens for `application/x-www-form-urlencoded` and
`multipart/form-data` content types when `addQueryParamsToBody` option is set to `true`:

```javascript
AjaxHelper.fetch('url', {
    headers : {
        'Content-Type' : 'application/x-www-form-urlencoded'
    },
    addQueryParamsToBody : true
});
```

Please check `addQueryParamsToBody` in [FetchOptions](#Core/helper/AjaxHelper#typedef-FetchOptions)

**Please note** that this behavior is disabled by default so if you need to enable it globally please use
[AjaxHelper.DEFAULT_FETCH_OPTIONS](#Core/helper/AjaxHelper#property-DEFAULT_FETCH_OPTIONS-static):

```javascript
// enable addQueryParamsToBody by default
AjaxHelper.DEFAULT_FETCH_OPTIONS = {
    addQueryParamsToBody : true
}
```

## Fill functionality

The new [FillHandle](#Grid/feature/FillHandle) feature brings spreadsheet like fill functionality to the Grid. When
enabled, a Grid selection range will get a fill handle along with a fill border. This handle can then be dragged over
new cells in any direction. The cells being dragged over will be filled with values calculated from the original
selection.

Basic pattern recognition is supported, for example increasing/decreasing numbers or dates, or string patterns.

Try it out in the live demo here:

<div class="external-example" data-file="./data/Grid/examples/feature/FillHandle.js"></div>

Also, check out our new [Spreadsheet demo](https://bryntum.com/products/grid/examples/spreadsheet/) which includes this
feature.

## Editing of multiple rows simultaneously

The [CellEdit](#Grid/feature/CellEdit) feature has been updated with support for editing multiple rows simultaneously.
Simply select multiple rows, edit the last one and then hit Ctrl+Enter to apply the new value to all selected rows. The
new `multiEdit` config is set to `true` by default.

Try it out in the live demo here:

<div class="external-example" data-file="./data/Grid/examples/feature/CellEdit.js"></div>

The CellEdit feature has also been migrated into the [KeyMap](#Core/widget/mixin/KeyMap) system, which means that all
it's keyboard shortcuts are customizable.

## Cell copy-paste

The new [CellCopyPaste](#Grid/feature/CellCopyPaste) feature adds the ability to cut, copy and paste individual cell
values or ranges of cell values. The feature uses the Clipboard API if it is supported by the user agent. This makes it
possible to copy ranges of values from external applications like Excel or Google Sheet or paste any text value without
the need to open the field editor.

Try it out in the live demo here:

<div class="external-example" data-file="./data/Grid/examples/feature/CellCopyPaste.js"></div>

Also, check out our new [Spreadsheet demo](https://bryntum.com/products/grid/examples/spreadsheet/) which includes this
feature.

## Grid selection

The Grid's [selection functionality](#Grid/view/Grid#config-selectionMode) has been greatly improved as of the 5.3
release. In addition to the already existing row and checkbox selection it is now also possible to select:

* Individual or multiple cells
* Whole columns of cells by clicking the column header
* Rows by clicking the RowNumberColumn.
* Ranges of rows or cells by dragging from one row or cell to another.
* Any combination of rows and/or cells by using checkbox selection or rownumber selection when cell selection mode is
  active.

This is also new:

* Keyboard focused column headers now has same focus indicator as cells.
* All earlier and new selection settings are now changeable at runtime.
* Shift+clicking in checkbox column now selects range of rows.
* The includeChildren settings now affects non-checkbox selection.
* With the new checkboxIndex setting it's possible to change the location of the checkbox selection
  column.
* Auto-selection of parents by use of the new `includeParents` setting.

For full details of the new selection functionality, please check out or new
[selection demo](https://bryntum.com/products/grid/examples/selection/)

## New locales

New locales for 31 languages have been added. Currently available languages are listed in the
[localization guide](#Grid/guides/customization/localization.md#locales).


<p class="last-modified">Last modified on 2023-10-26 8:19:11</p>