addHook (方法名,回调函数):为Handsontable实例添加事件侦听器
例:
hot.addHook('beforeInit', myCallback);
addHookOnce (方法名,回调函数):为Handsontable实例添加一次性事件侦听器
例:
hot.addHookOnce('beforeInit', myCallback);
alter (action,index,amount,source,keepEmptyRows):通过插入/删除行或列来更改表结构
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
action | string | 可能的改变操作:
| |
index | number<数字> | 将 | |
amount | number | 1 | 可选的 要插入或删除的行/列的数量。 |
source | string | 可选的 来源指标。 | |
keepEmptyRows | boolean | 可选的 用于防止删除空行的标志。 |
//在给定的可视索引处在行上方插入新行.
hot.alter('insert_row', 10);
// 在第10列之前插入3个新列.
hot.alter('insert_col', 10, 3);
// 从第10行开始删除2行.
hot.alter('remove_row', 10, 2);
// 删除5个非连续行(从visual index 1中删除3行,从visual index 5中删除2行).
hot.alter('remove_row', [[1, 3], [5, 2]]);
clear():清除表中的数据(表设置保持不变)
colOffset(),rowOffset ():返回第一个呈现列的可视索引。
colToProp (可视列索引):返回与给定列索引对应的属性名称(如果数据源是数组数组,则返回列索引)。
countCols ():返回表中可见列的总数。
countEmptyCols(如果true
,将仅计算数据源行末尾的空列):返回空列数。如果可选的结束参数是true
,则返回
表右边缘的空列数。
countEmptyRows (如果true
,只计算数据源末尾的空行。):返回空行数。如果可选的结束参数是true
,则返回
表格底部的空行数。
countRenderedCols ():返回渲染列的数量(包括在视口外部分或完全渲染的列)。如果表不可见,则返回-1。
countRenderedRows ():返回渲染行的数量(包括在视口外部分或完全渲染的行)。如果表不可见,则返回-1。
countRows ():返回表中可视行的总数。
countSourceCols ():返回数据源中的总列数。
countSourceRows ():返回数据源中的总行数。
countVisibleCols ():返回可见列的数量。如果表不可见,则返回-1。
countVisibleRows ():返回可见行数(完全适合视口内部的渲染行)。
deselectCell ():取消选择表格上的当前单元格选择。
destroy(): 从DOM中删除表并销毁Handsontable的实例。
destroyEditor (revertOriginal,prepareEditorIfNeeded):销毁当前编辑器,渲染表并准备新选择的单元格的编辑器。
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
revertOriginal | 布尔 | 假 | 可选的 如果 |
prepareEditorIfNeeded | 布尔 | 真正 | 可选的 如果 |
emptySelectedCells ():擦除表中已选择的单元格中的内容。
getActiveEditor ():返回活动的编辑器类实例。
getCell (行,列,顶部):如果在屏幕上呈现,则返回给定参数row
和column
参数的TD元素。
返回null
如果TD没有在屏幕上呈现的(可能是因为该表的那部分是不可见的)。
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
row | 数 | 可视行索引。 | |
column | 数 | 可视列索引。 | |
topmost | 布尔 | 假 | 可选的 如果设置为 |
getCellEditor (行,列):通过提供返回单元格编辑器类row
和column
参数。
参数:
名称 | 类型 | 描述 |
---|---|---|
row | number | 可视行索引或单元元对象(请参阅参考资料 |
column | number | 可视列索引。 |
例子
// 使用' row '和' column '坐标获取单元格编辑器类.
hot.getCellEditor(1, 1);
// 使用单元元对象获取单元格编辑器类
hot.getCellEditor(hot.getCellMeta(1, 1));
getCellMeta (行,列):返回给定row
和column
坐标的单元属性对象。
getCellMetaAtRow (行):返回指定物理行索引的单元元对象数组。
getCellRenderer (行,列):返回单元格渲染器函数。
// 使用“行”和“列”坐标获取单元格renderer .
hot.getCellRenderer(1, 1);
// 使用单元元对象获取单元格renderer .
hot.getCellRenderer(hot.getCellMeta(1, 1));
getCellsMeta ():获取表中生成的至少一次的所有单元格元设置(按单元初始化顺序)。
getCellValidator (行,列):返回单元格验证器。
// 使用' row '和' column '坐标获取单元格valiator .
hot.getCellValidator(1, 1);
//使用单元元对象获取单元valiator.
hot.getCellValidator(hot.getCellMeta(1, 1));
getColHeader (列):返回列标题数组,或返回给定列的标题。
getColWidth (列):返回请求列的宽度。
getCoords (element):返回单元格的坐标,以HTML表格单元格元素的形式提供。
hot.getCoords(hot.getCell(1, 1));
// 它返回带有props行:1和col: 1的CellCoords对象实例.
getCopyableData (行,列):返回指定row
和column
索引处数据的可复制值
getCopyableText (startRow,startCol,endRow,endCol):返回所选范围的字符串值。每个列由制表符分隔,每一行用
换行符分隔
getData (row,column,row2,column2):返回当前数据对象(与data
配置选项或loadData
方法传递的数据对象相同,
除非使用modifyRow
钩子修剪某些行。如果是这种情况 - 请使用该Core#getSourceData
方法。)。您也可以选择通过定义为单元格区域row
,column
,row2
,column2
只得到表数据的片段。
// 获取所有数据(按照表中呈现的方式).
hot.getData();
// 获取数据片段(从左上角开始,从0到右3,3).
hot.getData(3, 3);
// 获取数据片段(从左上2、1到右3、3)。
hot.getData(2, 1, 3, 3);
getDataAtCell (row,column):返回单元格值。如果对数据进行重新排序,排序或修剪,则将使用当前可见的顺序。
getDataAtCol (column):返回数据源中列值的数组。
注意:如果对列进行了重新排序或排序,则将使用当前可见的顺序。
getDataAtProp (prop):给定对象属性名称(例如'first.name'
或'0'
),从表数据返回列值的数组。
getDataAtRow (行):返回单行数据。
注意:如果对行进行了重新排序,排序或修剪,则将使用当前可见的顺序。
getDataAtRowProp (row,prop):返回visual row
和prop
index 处的值(请参阅参考资料DataMap#get
)。
注意:如果对数据进行重新排序,排序或修剪,则将使用当前可见的顺序。
getDataType (rowFrom,columnFrom,rowTo,columnTo): 返回单元格类型('mixed','text','numeric','autocomplete')
getInstance ():返回Handsontable实例。
getRowHeader (行):返回行标题值的数组(如果已启用)。如果row
给出了param ,则它将给定行的标题作为字符串返回。
getRowHeight (行):返回行高。
getSelected ():将当前选定单元格的索引作为数组数组返回[[startRow, startCol, endRow, endCol],...]
。起始行和起始列是活动单元格的坐标(选择开始的位置)。
getSelectedLast ():返回作为数组应用于表的最后一个坐标[startRow, startCol, endRow, endCol]
。
getSelectedRange ():返回当前所选区域的坐标
getSourceData (row,column,row2,column2):返回源数据对象(与data
配置选项或loadData
方法传递的对象相同)。
您也可以选择通过提供一个单元格区域row
,column
,row2
,column2
参数,只得到一个表的数据片段。
注意:此方法不参与数据转换。如果对表的可视数据进行重新排序,则排序或修剪仅物理索引是正确的。
getSourceDataArray (row,column,row2,column2):即使源数据以其他格式提供,也将源数据对象作为数组格式的数组返回。
您也可以选择通过提供一个单元格区域row
,column
,row2
,column2
参数,只得到一个表的数据片段。
注意:此方法不参与数据转换。如果对表的可视数据进行重新排序,则
排序或修剪仅物理索引是正确的。
getSourceDataAtCell (row,column):从数据源返回单个值。
getSourceDataAtCol (列):返回数据源中的列值数组。
getSourceDataAtRow (行):返回单行数据(数组或对象,具体取决于您使用的数据格式)。
注意:此方法不参与数据转换。如果对表的可视数据进行重新排序,则
排序或修剪仅物理索引是正确的。
getValue ():从所选单元格中获取价值。
hasColHeaders (),hasRowHeaders ():用了列标题,则返回 {Boolean} true
,false
否则返回。
hasHook (事件名):检查指定的钩子名称是否添加了侦听器(仅适用于此Handsontable实例)。返回true/false
isColumnModificationAllowed ():检查数据格式和配置是否允许用户修改列结构。
isEmptyCol (column
),isEmptyRow (行):检查column
参数声明的列中的所有单元格是否为空。
isListening ():如果当前Handsontable实例正在侦听文档正文上的键盘输入,则返回 true
,否则返回false
。
loadData (数据):将新数据加载到Handsontable。加载新数据会重置单元格元。
populateFromArray row,column,input,endRow,endCol,source,method,direction,delta):使用2D输入阵列(例如[[1, 2], [3, 4]]
)填充位置处的单元格。使用endRow
,endCol
当你要削减输入达到一定行时。可选method
参数与pasteMode选项具有相同的效果(请参阅参考资料Options#pasteMode
)。
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
row | Number | 启动可视行索引。 | |
column | Number | 启动可视列索引。 | |
input | Array | 2d阵列 | |
endRow | Number | 可选的 结束可视行索引(当您想要在达到某一行时切断输入时使用)。 | |
endCol | Number | 可选的 结束可视列索引(当您想要在达到某列时切断输入时使用)。 | |
source | String | populateFromArray | 可选的 用于在结果事件中识别此调用(beforeChange,afterChange)。 |
method | String | 覆盖 | 可选的 填充的方法,可能的值: |
direction | String | 填充方向,可能的值: | |
deltas | Array | 增量数组。相邻单元格的值之间的差异。仅在处理单元格的类型时 |
propToCol (prop):返回与给定属性对应的列索引
removeHook (方法名,回调函数):删除先前注册的钩子侦听器
hot.removeHook('beforeInit', myCallback);
render():重新表格。调用此方法将启动重新计算,重绘和将更改应用于DOM的过程。在渲染表格时,将调用所有单元格渲染器。建议不要手动调用此方法。Handsontable试图通过选择其生命周期中最佳的时刻来呈现自己。
runHooks (key,p1,p2,p3,p4,p5,p6):key
使用其他参数中给出的参数运行参数中提供的钩子的回调。
参数:
名称 | 类型 | 描述 |
---|---|---|
key | 串 | 钩名。 |
p1 | * | 可选的 参数传递给回调。 |
p2 | * | 可选的 参数传递给回调。 |
p3 | * | 可选的 参数传递给回调。 |
p4 | * | 可选的 参数传递给回调。 |
p5 | * | 可选的 参数传递给回调。 |
p6 | * | 可选的 参数传递给回调。 |
例子
// 运行内置hook
hot.runHooks('beforeInit');
// 运行自定义钩 hook
hot.runHooks('customAction', 10, 'foo');
scrollViewportTo (row,column,snapToBottom,snapToRight):将视口滚动到由row
和column
参数指定的坐标。如果滚动成功则返回: {Boolean} true
,false
否则返回。
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
row | 数 | 可选的 可视行索引。 | |
column | 数 | 可选的 可视列索引。 | |
snapToBottom | 布尔 | 假 | 可选的 如果 |
snapToRight | 布尔 | 假 | 可选的 如果 |
selectAll ():选择整个表格。之前的选择将被覆盖。
selectCell (row,column,endRow,endColumn,scrollToCell,changeListener):选择指定的单元格row
和column
值或一系列单元格endRow
,以endCol
。如果表配置为支持数据列属性,则可以使用属性进行选择。如果选择成功返回true,false
否则返回。
默认情况下,视口将滚动到所选内容。在之后selectCell
的方法已经完成,该实例,将监听到文档键盘输入。
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
row | Number | 可视行索引。 | |
column | Number|String | 可视列索引或列属性。 | |
endRow | Number | 可选的 可视结束行索引(如果选择范围)。 | |
endColumn | Number |String | 可选的 可视化结束列索引或列属性(如果选择范围)。 | |
scrollToCell | 布尔 | 真正 | 可选的 如果 |
changeListener | 布尔 | 真正 | 可选的 如果 |
例子
//选择一个单元格
hot.selectCell(2, 4);
// 使用列属性选择单个单元格
hot.selectCell(2, 'address');
// 选择单元格范围
hot.selectCell(2, 4, 3, 5);
// 使用列属性选择单元格范围
hot.selectCell(2, 'address', 3, 'phone_number');
// 选择单元格的范围而不滚动它们
hot.selectCell(2, 'address', 3, 'phone_number', false);
selectCells (coords,scrollToCell,changeListener):进行多个非连续选择,row
并且column
值或一系列单元格在endRow
,endColumn
。该方法支持两个输入格式它们是相同产生由getSelected
和getSelectedRange
方法。如果选择成功返回true,否则返回false。
默认情况下,视口将滚动到选择。在之后selectCells
的方法已经完成,该实例将监听到文档键盘输入。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
coords | Array.<Array> |Array.<CellRange> | Visual Coords作为array( | |
scrollToCell | 布尔 | 真正 | 可选的 如果 |
changeListener | 布尔 | 真正 | 可选的 如果 |
例子
// 使用数组数组.
hot.selectCells([[1, 1, 2, 2], [3, 3], [6, 2, 0, 2]]);
// 使用具有定义列作为道具的数组数组.
hot.selectCells([[1, 'id', 2, 'first_name'], [3, 'full_name'], [6, 'last_name', 0, 'first_name']]);
// 使用CellRange对象数组(由' . getselectedrange() '方法生成)。
const selected = hot.getSelectedRange();
selected[0].from.row = 0;
selected[0].from.col = 0;
hot.selectCells(selected);
selectColumns (startColumn,endColumn),selectRows (startRow,endRow):
// 使用可视索引选择列.
hot.selectColumns(1);
// 使用栏目属性选择栏目.
hot.selectColumns('id');
// 使用可视索引选择列的范围.
hot.selectColumns(1, 4);
// 使用栏目属性选择列的范围。
hot.selectColumns('id', 'last_name');
setDataAtCell (行,列,值,源):为单元格设置新值。要一次更改多个单元格(推荐方式),请将changes
格式数组[[row, col, value],...]
作为第一个参数传递。
参数:
名称 | 类型 | 描述 |
---|---|---|
row | Number|Array | 可视行索引或格式更改数组 |
column | Number | 可选的 可视列索引。 |
value | String | 可选的 新价值。 |
source | String | 可选的 标识更改数组中将如何描述此更改的字符串(在onAfterChange或onBeforeChange回调中很有用)。 |
setDataAtRowProp (row,prop,value,source):为单元格设置新值。要一次更改多个单元格(推荐方式),请将changes
格式数组[[row, prop, value],...]
作为第一个参数传递。
名称 | 类型 | 描述 |
---|---|---|
row | Number|Array | 可视行索引或格式更改数组 |
prop | String | 属性名称或源字符串(例如 |
value | String | 要设置的值。 |
source | String | 可选的 标识更改数组中将如何描述此更改的字符串(在onChange回调中很有用)。 |
spliceCol (列,索引,数量,元素),spliceRow (行,索引,数量,元素):添加/删除列中的数据。此方法与Array.splice用于数组的工作方式相同
参数:
名称 | 类型 | 描述 |
---|---|---|
column | Number | 要进行拼接的列的索引。 |
index | Number | 要开始更改数组的索引。如果否定,将从最后开始那么多元素。 |
amount | Number | 一个整数,指示要删除的旧数组元素的数量。如果amount为0,则不删除任何元素。 |
elements | Number | 可选的可重复 要添加到数组的元素。如果您没有指定任何元素,spliceCol只是从数组中删除元素。 |
toPhysicalColumn (column
),toPhysicalRow (行):将视觉列索引转换为物理列。
当您想要根据可以重新排序,移动或修剪的可视索引检索物理列索引时,此方法很有用。
toVisualColumn (column
),toVisualRow (行):将物理列索引转换为可视化。
当您想要检索可以根据物理索引重新排序,移动或修剪的可视列索引时,此方法很有用
unlisten ():停止在文档正文上听取键盘输入。调用此方法会使Handsontable对任何键盘事件都无效。
updateSettings (settings,init):如果需要在初始化后更改配置,请使用它。所述settings
参数是一个包含新的对象
设置,声明为在初始设置对象相同的方式。
请注意,尽管该updateSettings
方法不会覆盖先前声明的设置,但它可能会重置
初始化后进行的设置。(例如 - 忽略使用columnResize功能所做的更改)。
参数:
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
settings | Object | 新设置对象(请参阅参考资料 | |
init | 布尔 | 假 | 可选的 内部用于初始化模式。 |
hot.updateSettings({
contextMenu: true,
colHeaders: true,
fixedRowsTop: 2
});
validateCells (回调):使用验证器函数验证所有单元格,并在完成后调用回调。如果其中一个单元格无效,则将使用'valid'
参数触发回调。
hot.validateCells((valid) => {
if (valid) {
// ... code
}
})
validateColumns (列,回调):使用验证器函数验证列,完成后调用回调。
hot.validateColumns([3, 4, 5], (valid) => {
if (valid) {
// ... code
}
})
validateRows (行,回调):使用验证器函数验证行,完成后调用回调。
hot.validateRows([3, 4, 5], (valid) => {
if (valid) {
// ... code
}
})