JavaScript Data GridMergeCells
Description
Plugin, which allows merging cells in the table (using the initial configuration, API or context menu).
Example
const hot = new Handsontable(document.getElementById('example'), {
data: getData(),
mergeCells: [
{row: 0, col: 3, rowspan: 3, colspan: 3},
{row: 2, col: 6, rowspan: 2, colspan: 2},
{row: 4, col: 8, rowspan: 3, colspan: 3}
],
Options
mergeCells
Source codemergeCells.mergeCells : boolean | Array<object>
The mergeCells
option configures the MergeCells
plugin.
You can set the mergeCells
option to one of the following:
Setting | Description |
---|---|
true | Enable the MergeCells plugin |
false | Disable the MergeCells plugin |
An array of objects | - Enable the MergeCells plugin- Merge specific cells at initialization |
{ virtualized: true } | Enable the MergeCells plugin with enabled virtualization mode |
To merge specific cells at Handsontable's initialization,
set the mergeCells
option to an array of objects, with the following properties:
Property | Description |
---|---|
row | The row index of the merged section's beginning |
col | The column index of the merged section's beginning |
rowspan | The width (as a number of rows) of the merged section |
colspan | The height (as a number of columns ) of the merged section |
Read more:
Default: false
Example
// enable the `MergeCells` plugin
mergeCells: true,
// enable the `MergeCells` plugin
// and merge specific cells at initialization
mergeCells: [
// merge cells from cell (1,1) to cell (3,3)
{row: 1, col: 1, rowspan: 3, colspan: 3},
// merge cells from cell (3,4) to cell (2,2)
{row: 3, col: 4, rowspan: 2, colspan: 2},
// merge cells from cell (5,6) to cell (3,3)
{row: 5, col: 6, rowspan: 3, colspan: 3}
],
// enable the `MergeCells` plugin with enabled virtualization mode
// and merge specific cells at initialization
mergeCells: {
virtualized: true,
cells: [
// merge cells from cell (1,1) to cell (3,3)
{row: 1, col: 1, rowspan: 3, colspan: 3},
// merge cells from cell (3,4) to cell (2,2)
{row: 3, col: 4, rowspan: 2, colspan: 2},
// merge cells from cell (5,6) to cell (3,3)
{row: 5, col: 6, rowspan: 3, colspan: 3}
],
},
Methods
clearCollections
Source codemergeCells.clearCollections()
Clears the merged cells from the merged cell container.
disablePlugin
Source codemergeCells.disablePlugin()
Disables the plugin functionality for this Handsontable instance.
enablePlugin
Source codemergeCells.enablePlugin()
Enables the plugin functionality for this Handsontable instance.
isEnabled
Source codemergeCells.isEnabled() ⇒ boolean
Checks if the plugin is enabled in the handsontable settings. This method is executed in Hooks#beforeInit
hook and if it returns true
then the MergeCells#enablePlugin method is called.
merge
Source codemergeCells.merge(startRow, startColumn, endRow, endColumn)
Merges the specified range.
Emits: Hooks#event:beforeMergeCells
, Hooks#event:afterMergeCells
Param | Type | Description |
---|---|---|
startRow | number | Start row of the merged cell. |
startColumn | number | Start column of the merged cell. |
endRow | number | End row of the merged cell. |
endColumn | number | End column of the merged cell. |
mergeSelection
Source codemergeCells.mergeSelection([cellRange])
Merges the selection provided as a cell range.
Param | Type | Description |
---|---|---|
[cellRange] | CellRange | optional Selection cell range. |
unmerge
Source codemergeCells.unmerge(startRow, startColumn, endRow, endColumn)
Unmerges the merged cell in the provided range.
Emits: Hooks#event:beforeUnmergeCells
, Hooks#event:afterUnmergeCells
Param | Type | Description |
---|---|---|
startRow | number | Start row of the merged cell. |
startColumn | number | Start column of the merged cell. |
endRow | number | End row of the merged cell. |
endColumn | number | End column of the merged cell. |
unmergeSelection
Source codemergeCells.unmergeSelection([cellRange])
Unmerges the selection provided as a cell range.
Param | Type | Description |
---|---|---|
[cellRange] | CellRange | optional Selection cell range. |
updatePlugin
Source codemergeCells.updatePlugin()
Updates the plugin's state.
This method is executed when updateSettings()
is invoked with any of the
following configuration options: