Documentation
Home
Docs
Download
Pricing
GitHub
Sign in
Getting started
Introduction
Features
Compatibility
Licensing
License key
Basic usage
Quick start
Data binding
Data sources
Load and save
Setting options
Grid sizing
Using callbacks
Keyboard navigation
Internationalization
Developer guide
Modules
Custom build
Custom plugin
Cell types
Cell editor
Cell function
Suspend rendering
Testing
Performance tips
Release notes
Migration guide
Community
GitHub
Forum
Wrappers
Wrapper for React
Installation
Basic examples
Using the HotColumn component
Setting up a locale
Custom Context Menu example
Custom editor example
Custom renderer example
Language change example
Redux example
Referencing the Handsontable instance
Wrapper for Angular
Installation
Basic example
Custom ID
Setting up a locale
Custom Context Menu example
Custom editor example
Custom renderer example
Language change example
Referencing the Handsontable instance
Wrapper for Vue
Installation
Basic example
Using the hot-column component
Setting up a locale
Custom ID, Class, Style and other attributes
Custom Context Menu example
Custom editor example
Custom renderer example
Language change example
Vuex example
Referencing the Handsontable instance
Demos
Rows and columns
Scrolling
Fixing
Resizing
Moving
Header tooltips [deprecated]
Pre-populating rows
Stretching columns
Freezing columns
Fixing bottom rows
Hiding rows
Hiding columns
Trimming rows
Bind rows with headers
Collapsing columns
Nested headers
Nested rows
Dropdown menu
Data operations
Sorting
Multi-column sorting
Searching
Filtering
Summary calculations
Cell features
Data validation
Auto fill
Merged cells
Alignment
Read-only
Disabled editing
Cell types
Custom renderers
Numeric
Date
Time
Checkbox
Select
Dropdown
Autocomplete
Password
Handsontable
Utilities
Context menu
Custom buttons
Spreadsheet icons
Comments
Copy & Paste
Export to file
Appearance
Conditional formatting
Customizing borders
Selecting ranges
Highlighting selection
Mobiles and tablets
Formulas
Formula support
API Reference
Core
Core
Basic usage
Members
columnIndexMapper
isDestroyed
rowIndexMapper
Methods
addHook
addHookOnce
alter
batch
batchExecution
batchRender
clear
colToProp
countCols
countEmptyCols
countEmptyRows
countRenderedCols
countRenderedRows
countRows
countSourceCols
countSourceRows
countVisibleCols
countVisibleRows
deselectCell
destroy
destroyEditor
emptySelectedCells
getActiveEditor
getCell
getCellEditor
getCellMeta
getCellMetaAtRow
getCellRenderer
getCellsMeta
getCellValidator
getColHeader
getColWidth
getCoords
getCopyableData
getCopyableText
getData
getDataAtCell
getDataAtCol
getDataAtProp
getDataAtRow
getDataAtRowProp
getDataType
getInstance
getPlugin
getRowHeader
getRowHeight
getSchema
getSelected
getSelectedLast
getSelectedRange
getSelectedRangeLast
getSettings
getSourceData
getSourceDataArray
getSourceDataAtCell
getSourceDataAtCol
getSourceDataAtRow
getTranslatedPhrase
getValue
hasColHeaders
hasHook
hasRowHeaders
isColumnModificationAllowed
isEmptyCol
isEmptyRow
isExecutionSuspended
isListening
isRenderSuspended
listen
loadData
populateFromArray
propToCol
refreshDimensions
removeCellMeta
removeHook
render
resumeExecution
resumeRender
runHooks
scrollViewportTo
selectAll
selectCell
selectCells
selectColumns
selectRows
setCellMeta
setCellMetaObject
setDataAtCell
setDataAtRowProp
setSourceDataAtCell
spliceCellsMeta
spliceCol
spliceRow
suspendExecution
suspendRender
toHTML
toPhysicalColumn
toPhysicalRow
toTableElement
toVisualColumn
toVisualRow
unlisten
updateSettings
validateCells
validateColumns
validateRows
Hooks
Basic usage
Methods
add
createEmptyBucket
deregister
destroy
getBucket
getRegistered
has
isDeprecated
isRegistered
once
register
remove
run
Events
afterAddChild
afterAutofill
afterBeginEditing
afterCellMetaReset
afterChange
afterChangesObserved
afterColumnCollapse
afterColumnExpand
afterColumnMove
afterColumnResize
afterColumnSort
afterContextMenuDefaultOptions
afterContextMenuHide
afterContextMenuShow
afterCopy
afterCopyLimit
afterCreateCol
afterCreateRow
afterCut
afterDeselect
afterDestroy
afterDetachChild
afterDocumentKeyDown
afterDrawSelection
afterDropdownMenuDefaultOptions
afterDropdownMenuHide
afterDropdownMenuShow
afterFilter
afterGetCellMeta
afterGetColHeader
afterGetColumnHeaderRenderers
afterGetRowHeader
afterGetRowHeaderRenderers
afterHideColumns
afterHideRows
afterInit
afterLanguageChange
afterListen
afterLoadData
afterMergeCells
afterModifyTransformEnd
afterModifyTransformStart
afterMomentumScroll
afterOnCellContextMenu
afterOnCellCornerDblClick
afterOnCellCornerMouseDown
afterOnCellMouseDown
afterOnCellMouseOut
afterOnCellMouseOver
afterOnCellMouseUp
afterPaste
afterPluginsInitialized
afterRedo
afterRedoStackChange
afterRefreshDimensions
afterRemoveCellMeta
afterRemoveCol
afterRemoveRow
afterRender
afterRenderer
afterRowMove
afterRowResize
afterScrollHorizontally
afterScrollVertically
afterSelection
afterSelectionByProp
afterSelectionEnd
afterSelectionEndByProp
afterSetCellMeta
afterSetDataAtCell
afterSetDataAtRowProp
afterSetSourceDataAtCell
afterTrimRow
afterUndo
afterUndoStackChange
afterUnhideColumns
afterUnhideRows
afterUnlisten
afterUnmergeCells
afterUntrimRow
afterUpdateSettings
afterValidate
afterViewportColumnCalculatorOverride
afterViewportRowCalculatorOverride
beforeAddChild
beforeAutofill
beforeAutofillInsidePopulate
beforeCellAlignment
beforeChange
beforeChangeRender
beforeColumnCollapse
beforeColumnExpand
beforeColumnMove
beforeColumnResize
beforeColumnSort
beforeContextMenuSetItems
beforeContextMenuShow
beforeCopy
beforeCreateCol
beforeCreateRow
beforeCut
beforeDetachChild
beforeDrawBorders
beforeDropdownMenuSetItems
beforeDropdownMenuShow
beforeFilter
beforeGetCellMeta
beforeHideColumns
beforeHideRows
beforeHighlightingColumnHeader
beforeHighlightingRowHeader
beforeInit
beforeInitWalkontable
beforeKeyDown
beforeLanguageChange
beforeLoadData
beforeMergeCells
beforeOnCellContextMenu
beforeOnCellMouseDown
beforeOnCellMouseOut
beforeOnCellMouseOver
beforeOnCellMouseUp
beforePaste
beforeRedo
beforeRedoStackChange
beforeRefreshDimensions
beforeRemoveCellClassNames
beforeRemoveCellMeta
beforeRemoveCol
beforeRemoveRow
beforeRender
beforeRenderer
beforeRowMove
beforeRowResize
beforeSetCellMeta
beforeSetRangeEnd
beforeSetRangeStart
beforeSetRangeStartOnly
beforeStretchingColumnWidth
beforeTouchScroll
beforeTrimRow
beforeUndo
beforeUndoStackChange
beforeUnhideColumns
beforeUnhideRows
beforeUnmergeCells
beforeUntrimRow
beforeValidate
beforeValueRender
construct
init
modifyAutoColumnSizeSeed
modifyAutofillRange
modifyColHeader
modifyColumnHeaderHeight
modifyColWidth
modifyCopyableRange
modifyData
modifyGetCellCoords
modifyRowData
modifyRowHeader
modifyRowHeaderWidth
modifyRowHeight
modifySourceData
modifyTransformEnd
modifyTransformStart
persistentStateLoad
persistentStateReset
persistentStateSave
Options
Basic usage
Members
activeHeaderClassName
allowEmpty
allowHtml
allowInsertColumn
allowInsertRow
allowInvalid
allowRemoveColumn
allowRemoveRow
autoColumnSize
autoRowSize
autoWrapCol
autoWrapRow
bindRowsWithHeaders
cell
cells
checkedTemplate
className
colHeaders
collapsibleColumns
columnHeaderHeight
columns
columnSorting
columnSummary
colWidths
commentedCellClassName
comments
contextMenu
copyable
copyPaste
correctFormat
currentColClassName
currentHeaderClassName
currentRowClassName
customBorders
data
dataSchema
dateFormat
defaultDate
disableVisualSelection
dragToScroll
dropdownMenu
editor
enterBeginsEditing
enterMoves
fillHandle
filter
filteringCaseSensitive
filters
fixedColumnsLeft
fixedRowsBottom
fixedRowsTop
formulas
fragmentSelection
headerTooltips
height
hiddenColumns
hiddenRows
invalidCellClassName
label
language
licenseKey
manualColumnFreeze
manualColumnMove
manualColumnResize
manualRowMove
manualRowResize
maxCols
maxRows
mergeCells
minCols
minRows
minSpareCols
minSpareRows
multiColumnSorting
nestedHeaders
nestedRows
noWordWrapClassName
numericFormat
observeChanges
observeDOMVisibility
outsideClickDeselects
persistentState
placeholder
placeholderCellClassName
preventOverflow
readOnly
readOnlyCellClassName
renderAllRows
renderer
rowHeaders
rowHeaderWidth
rowHeights
search
selectionMode
selectOptions
skipColumnOnPaste
skipRowOnPaste
sortByRelevance
source
startCols
startRows
stretchH
strict
tableClassName
tabMoves
title
trimDropdown
trimRows
trimWhitespace
type
uncheckedTemplate
undo
validator
viewportColumnRenderingOffset
viewportRowRenderingOffset
visibleRows
width
wordWrap
Methods
isEmptyCol
isEmptyRow
Plugins
AutoColumnSize
Basic usage
Members
inProgress
measuredColumns
Methods
calculateAllColumnsWidth
calculateColumnsWidth
calculateVisibleColumnsWidth
clearCache
destroy
disablePlugin
enablePlugin
getColumnWidth
getFirstVisibleColumn
getLastVisibleColumn
getSyncCalculationLimit
isEnabled
isNeedRecalculate
recalculateAllColumnsWidth
updatePlugin
AutoRowSize
Basic usage
Members
inProgress
measuredRows
Methods
calculateAllRowsHeight
calculateRowsHeight
clearCache
clearCacheByRange
destroy
disablePlugin
enablePlugin
getColumnHeaderHeight
getFirstVisibleRow
getLastVisibleRow
getRowHeight
getSyncCalculationLimit
isEnabled
isNeedRecalculate
recalculateAllRowsHeight
Autofill
Basic usage
Members
autoInsertRow
Methods
destroy
disablePlugin
enablePlugin
isEnabled
updatePlugin
BindRowsWithHeaders
Basic usage
Methods
destroy
disablePlugin
enablePlugin
isEnabled
CollapsibleColumns
Basic usage
Members
headerStateManager
Methods
collapseAll
collapseSection
destroy
disablePlugin
enablePlugin
expandAll
expandSection
isEnabled
toggleAllCollapsibleSections
toggleCollapsibleSection
updatePlugin
ColumnSorting
Basic usage
Methods
clearSort
destroy
disablePlugin
enablePlugin
getSortConfig
isEnabled
isSorted
setSortConfig
sort
ColumnSummary
Basic usage
Methods
disablePlugin
enablePlugin
isEnabled
Comments
Basic usage
Members
range
Methods
clearRange
destroy
disablePlugin
enablePlugin
getComment
getCommentAtCell
getCommentMeta
hide
isEnabled
refreshEditor
removeComment
removeCommentAtCell
setComment
setCommentAtCell
setRange
show
showAtCell
updateCommentMeta
updatePlugin
ContextMenu
Basic usage
Members
DEFAULT_ITEMS
Methods
close
destroy
disablePlugin
enablePlugin
executeCommand
isEnabled
open
updatePlugin
CopyPaste
Basic usage
Members
columnsLimit
focusableElement
pasteMode
rowsLimit
uiContainer
Methods
copy
cut
destroy
disablePlugin
enablePlugin
getRangedCopyableData
getRangedData
isEnabled
paste
setCopyableText
updatePlugin
CustomBorders
Basic usage
Methods
clearBorders
destroy
disablePlugin
enablePlugin
getBorders
isEnabled
setBorders
updatePlugin
DragToScroll
Basic usage
Members
boundaries
Methods
check
destroy
disablePlugin
enablePlugin
isEnabled
setBoundaries
setCallback
updatePlugin
DropdownMenu
Basic usage
Members
DEFAULT_ITEMS
Methods
close
destroy
disablePlugin
enablePlugin
executeCommand
isEnabled
open
updatePlugin
ExportFile
Basic usage
Typedefs
ExportOptions
Methods
downloadFile
exportAsBlob
exportAsString
isEnabled
Filters
Basic usage
Methods
addCondition
clearConditions
destroy
disablePlugin
enablePlugin
filter
getDataMapAtColumn
getSelectedColumn
isEnabled
removeConditions
Formulas
Basic usage
Methods
destroy
disablePlugin
enablePlugin
getCellValue
getVariable
hasComputedCellValue
isEnabled
recalculate
recalculateFull
recalculateOptimized
setVariable
HeaderTooltips
Basic usage
Methods
destroy
disablePlugin
enablePlugin
isEnabled
HiddenColumns
Basic usage
Methods
destroy
disablePlugin
enablePlugin
getHiddenColumns
hideColumn
hideColumns
isEnabled
isHidden
isValidConfig
showColumn
showColumns
updatePlugin
HiddenRows
Basic usage
Methods
destroy
disablePlugin
enablePlugin
getHiddenRows
hideRow
hideRows
isEnabled
isHidden
isValidConfig
showRow
showRows
updatePlugin
ManualColumnFreeze
Basic usage
Methods
disablePlugin
enablePlugin
freezeColumn
isEnabled
unfreezeColumn
updatePlugin
ManualColumnMove
Basic usage
Methods
destroy
disablePlugin
dragColumn
dragColumns
enablePlugin
isEnabled
isMovePossible
moveColumn
moveColumns
updatePlugin
ManualColumnResize
Basic usage
Methods
clearManualSize
destroy
disablePlugin
enablePlugin
isEnabled
loadManualColumnWidths
saveManualColumnWidths
setManualSize
updatePlugin
ManualRowMove
Basic usage
Methods
destroy
disablePlugin
dragRow
dragRows
enablePlugin
isEnabled
isMovePossible
moveRow
moveRows
updatePlugin
ManualRowResize
Basic usage
Methods
destroy
disablePlugin
enablePlugin
isEnabled
loadManualRowHeights
saveManualRowHeights
setManualSize
updatePlugin
MergeCells
Basic usage
Methods
clearCollections
disablePlugin
enablePlugin
isEnabled
merge
mergeSelection
unmerge
unmergeSelection
updatePlugin
MultiColumnSorting
Basic usage
Methods
clearSort
disablePlugin
enablePlugin
getSortConfig
isEnabled
isSorted
setSortConfig
sort
NestedHeaders
Basic usage
Members
detectedOverlappedHeaders
Methods
destroy
disablePlugin
enablePlugin
isEnabled
updatePlugin
NestedRows
Basic usage
Methods
destroy
disableCoreAPIModifiers
disablePlugin
enableCoreAPIModifiers
enablePlugin
isEnabled
updatePlugin
ObserveChanges
Basic usage
Methods
destroy
disablePlugin
enablePlugin
isEnabled
PersistentState
Basic usage
Methods
destroy
disablePlugin
enablePlugin
isEnabled
loadValue
resetValue
saveValue
updatePlugin
Search
Basic usage
Methods
destroy
disablePlugin
enablePlugin
getCallback
getQueryMethod
getSearchResultClass
isEnabled
query
setCallback
setQueryMethod
setSearchResultClass
updatePlugin
TrimRows
Basic usage
Methods
destroy
disablePlugin
enablePlugin
getTrimmedRows
isEnabled
isTrimmed
isValidConfig
trimRow
trimRows
untrimAll
untrimRow
untrimRows
updatePlugin
UndoRedo
Basic usage
Methods
clear
destroy
disable
done
enable
isEnabled
isRedoAvailable
isUndoAvailable
redo
undo
No results found
Setting up a locale
An example of Handsontable with locales setup in Angular.
Edit
Edit this page
Tutorial: Setting up a locale