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