Handsontable实例的核心方法

addHook (方法名,回调函数):为Handsontable实例添加事件侦听器

例:

hot.addHook('beforeInit', myCallback);

 

addHookOnce (方法名,回调函数):为Handsontable实例添加一次性事件侦听器

例:

hot.addHookOnce('beforeInit', myCallback);

alter (action,index,amount,source,keepEmptyRows):通过插入/删除行或列来更改表结构

名称类型默认描述
actionstring 

可能的改变操作:

  • 'insert_row'
  • 'insert_col'
  • 'remove_row'
  • 'remove_col'
indexnumber<数字> 


插入/删除新行/列的行/列的可视索引或格式化的数组数组[[index, amount],...]

amountnumber1可选的

要插入或删除的行/列的数量。

sourcestring 可选的

来源指标。

keepEmptyRowsboolean 可选的

用于防止删除空行的标志。

 

//在给定的可视索引处在行上方插入新行.
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布尔可选的

如果true,将恢复之前的值。否则,将保存编辑的值。

prepareEditorIfNeeded布尔真正可选的

如果true所选单元格下的编辑器将准备打开。

emptySelectedCells ():擦除表中已选择的单元格中的内容。

getActiveEditor ():返回活动的编辑器类实例。

getCell (行,列,顶部):如果在屏幕上呈现,则返回给定参数rowcolumn参数的TD元素。
返回null如果TD没有在屏幕上呈现的(可能是因为该表的那部分是不可见的)。

参数:

名称类型默认描述
row 

可视行索引。

column 

可视列索引。

topmost布尔可选的

如果设置为true,则从最顶层的叠加层返回TD元素。例如,
如果想要的单元格在固定行的范围内,它将从top叠加层返回TD元素。

 

getCellEditor (行,列):通过提供返回单元格编辑器类rowcolumn参数。

参数:

名称类型描述
rownumber

可视行索引或单元元对象(请参阅参考资料Core#getCellMeta)。

columnnumber

可视列索引。

 

例子

// 使用' row '和' column '坐标获取单元格编辑器类.
hot.getCellEditor(1, 1);
// 使用单元元对象获取单元格编辑器类
hot.getCellEditor(hot.getCellMeta(1, 1));

getCellMeta (行,列):返回给定rowcolumn坐标的单元属性对象。

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 (行,列):返回指定rowcolumn索引处数据的可复制值

getCopyableText (startRow,startCol,endRow,endCol):返回所选范围的字符串值。每个列由制表符分隔,每一行用
换行符分隔

getData (row,column,row2,column2):返回当前数据对象(与data配置选项或loadData方法传递的数据对象相同,
除非使用modifyRow钩子修剪某些行。如果是这种情况 - 请使用该Core#getSourceData方法。)。您也可以选择通过定义为单元格区域rowcolumnrow2column2只得到表数据的片段。

// 获取所有数据(按照表中呈现的方式).
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 rowpropindex 处的值(请参阅参考资料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方法传递的对象相同)。
您也可以选择通过提供一个单元格区域rowcolumnrow2column2参数,只得到一个表的数据片段。

注意:此方法不参与数据转换。如果对表的可视数据进行重新排序,则排序或修剪仅物理索引是正确的。

getSourceDataArray (row,column,row2,column2):即使源数据以其他格式提供,也将源数据对象作为数组格式的数组返回。
您也可以选择通过提供一个单元格区域rowcolumnrow2column2参数,只得到一个表的数据片段。

注意:此方法不参与数据转换。如果对表的可视数据进行重新排序,则
排序或修剪仅物理索引是正确的。

getSourceDataAtCell (row,column):从数据源返回单个值。

getSourceDataAtCol (列):返回数据源中的列值数组。

getSourceDataAtRow (行):返回单行数据(数组或对象,具体取决于您使用的数据格式)。

注意:此方法不参与数据转换。如果对表的可视数据进行重新排序,则
排序或修剪仅物理索引是正确的。

getValue ():从所选单元格中获取价值。

hasColHeaders (),hasRowHeaders ()用了列标题,则返回 {Boolean} truefalse否则返回。

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]])填充位置处的单元格。使用endRowendCol当你要削减输入达到一定行时。可选method参数与pasteMode选项具有相同的效果(请参阅参考资料Options#pasteMode)。

 

参数:

名称类型默认描述
rowNumber 

启动可视行索引。

columnNumber 

启动可视列索引。

inputArray 

2d阵列

endRowNumber 可选的

结束可视行索引(当您想要在达到某一行时切断输入时使用)。

endColNumber 可选的

结束可视列索引(当您想要在达到某列时切断输入时使用)。

sourceStringpopulateFromArray可选的

用于在结果事件中识别此调用(beforeChange,afterChange)。

methodString覆盖可选的

填充的方法,可能的值:'shift_down''shift_right''overwrite'

directionString 

填充方向,可能的值:'left''right''up''down'

deltasArray 

增量数组。相邻单元格的值之间的差异。在处理单元格的类型时
有用。numeric

 

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):将视口滚动到由rowcolumn参数指定的坐标。如果滚动成功则返回: {Boolean} truefalse否则返回。

参数:

名称类型默认描述
row 可选的

可视行索引。

column 可选的

可视列索引。

snapToBottom布尔可选的

如果true,滚动视口以显示表格底部的单元格。

snapToRight布尔可选的

如果true,滚动视口以显示表右侧的单元格。

 

selectAll ():选择整个表格。之前的选择将被覆盖。

selectCell (row,column,endRow,endColumn,scrollToCell,changeListener):选择指定的单元格rowcolumn值或一系列单元格endRow,以endCol。如果表配置为支持数据列属性,则可以使用属性进行选择。如果选择成功返回true,false否则返回。

默认情况下,视口将滚动到所选内容。在之后selectCell的方法已经完成,该实例,将监听到文档键盘输入。

参数:

名称类型默认描述
rowNumber 

可视行索引。

columnNumber|String 

可视列索引或列属性。

endRowNumber 可选的

可视结束行索引(如果选择范围)。

endColumnNumber |String 可选的

可视化结束列索引或列属性(如果选择范围)。

scrollToCell布尔真正可选的

如果true,视口将滚动到选择。

changeListener布尔真正可选的

如果false,Handsontable不会改变键盘事件监听器给自己。

例子

//选择一个单元格
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值或一系列单元格在endRowendColumn。该方法支持两个输入格式它们是相同产生由getSelectedgetSelectedRange方法。如果选择成功返回true,否则返回false。

默认情况下,视口将滚动到选择。在之后selectCells的方法已经完成,该实例将监听到文档键盘输入。

 

名称类型默认描述
coordsArray.<Array> |Array.<CellRange> 

Visual Coords作为array([[rowStart, columnStart, rowEnd, columnEnd], ...])数组传递,其
格式与getSelected方法返回的相同,或者作为CellRange对象传递,其方法返回
的格式相同getSelectedRange

scrollToCell布尔真正可选的

如果true,视口将滚动到选择。

changeListener布尔真正可选的

如果false,Handsontable不会改变键盘事件监听器给自己。

例子

// 使用数组数组.
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],...]作为第一个参数传递。

参数:

名称类型描述
rowNumber|Array

可视行索引或格式更改数组[[row, col, value],...]

columnNumber可选的

可视列索引。

valueString可选的

新价值。

sourceString可选的

标识更改数组中将如何描述此更改的字符串(在onAfterChange或onBeforeChange回调中很有用)。

 

setDataAtRowProp (row,prop,value,source):为单元格设置新值。要一次更改多个单元格(推荐方式),请将changes格式数组[[row, prop, value],...]作为第一个参数传递。

 

名称类型描述
rowNumber|Array

可视行索引或格式更改数组[[row, prop, value], ...]

propString

属性名称或源字符串(例如'first.name''0')。

valueString

要设置的值。

sourceString可选的

标识更改数组中将如何描述此更改的字符串(在onChange回调中很有用)。

 

spliceCol (列,索引,数量,元素),spliceRow (行,索引,数量,元素):添加/删除列中的数据。此方法与Array.splice用于数组的工作方式相同

参数:

名称类型描述
columnNumber

要进行拼接的列的索引。

indexNumber

要开始更改数组的索引。如果否定,将从最后开始那么多元素。

amountNumber

一个整数,指示要删除的旧数组元素的数量。如果amount为0,则不删除任何元素。

elementsNumber可选的可重复

要添加到数组的元素。如果您没有指定任何元素,spliceCol只是从数组中删除元素。

 

toPhysicalColumn (column),toPhysicalRow (行):将视觉列索引转换为物理列。

当您想要根据可以重新排序,移动或修剪的可视索引检索物理列索引时,此方法很有用。

 

toVisualColumn (column),toVisualRow (行):将物理列索引转换为可视化。

当您想要检索可以根据物理索引重新排序,移动或修剪的可视列索引时,此方法很有用

unlisten ():停止在文档正文上听取键盘输入。调用此方法会使Handsontable对任何键盘事件都无效。

updateSettings (settings,init):如果需要在初始化后更改配置,请使用它。所述settings参数是一个包含新的对象
设置,声明为在初始设置对象相同的方式。

请注意,尽管该updateSettings方法不会覆盖先前声明的设置,但它可能会重置
初始化后进行的设置。(例如 - 忽略使用columnResize功能所做的更改)。

参数:

名称类型默认描述
settingsObject 

新设置对象(请参阅参考资料Options

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
  }
})

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值