Handsontable實例的核心方法

addHook (方法名,回調函數):爲Handsontable實例添加事件偵聽器

例:

hot.addHook('beforeInit', myCallback);

 

addHookOnce (方法名,回調函數):爲Handsontable實例添加一次性事件偵聽器

例:

hot.addHookOnce('beforeInit', myCallback);

alter (action,index,amount,source,keepEmptyRows):通過插入/刪除行或列來更改表結構

名稱 類型 默認 描述
action string  

可能的改變操作:

  • 'insert_row'
  • 'insert_col'
  • 'remove_row'
  • 'remove_col'
index number<數字>  


插入/刪除新行/列的行/列的可視索引或格式化的數組數組[[index, amount],...]

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 布爾 可選的

如果true,將恢復之前的值。否則,將保存編輯的值。

prepareEditorIfNeeded 布爾 真正 可選的

如果true所選單元格下的編輯器將準備打開。

emptySelectedCells ():擦除表中已選擇的單元格中的內容。

getActiveEditor ():返回活動的編輯器類實例。

getCell (行,列,頂部):如果在屏幕上呈現,則返回給定參數rowcolumn參數的TD元素。
返回null如果TD沒有在屏幕上呈現的(可能是因爲該表的那部分是不可見的)。

參數:

名稱 類型 默認 描述
row  

可視行索引。

column  

可視列索引。

topmost 布爾 可選的

如果設置爲true,則從最頂層的疊加層返回TD元素。例如,
如果想要的單元格在固定行的範圍內,它將從top疊加層返回TD元素。

 

getCellEditor (行,列):通過提供返回單元格編輯器類rowcolumn參數。

參數:

名稱 類型 描述
row number

可視行索引或單元元對象(請參閱參考資料Core#getCellMeta)。

column number

可視列索引。

 

例子

// 使用' 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)。

 

參數:

名稱 類型 默認 描述
row Number  

啓動可視行索引。

column Number  

啓動可視列索引。

input Array  

2d陣列

endRow Number   可選的

結束可視行索引(當您想要在達到某一行時切斷輸入時使用)。

endCol Number   可選的

結束可視列索引(當您想要在達到某列時切斷輸入時使用)。

source String populateFromArray 可選的

用於在結果事件中識別此調用(beforeChange,afterChange)。

method String 覆蓋 可選的

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

direction String  

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

deltas Array  

增量數組。相鄰單元格的值之間的差異。在處理單元格的類型時
有用。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的方法已經完成,該實例,將監聽到文檔鍵盤輸入。

參數:

名稱 類型 默認 描述
row Number  

可視行索引。

column Number|String  

可視列索引或列屬性。

endRow Number   可選的

可視結束行索引(如果選擇範圍)。

endColumn Number |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的方法已經完成,該實例將監聽到文檔鍵盤輸入。

 

名稱 類型 默認 描述
coords Array.<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],...]作爲第一個參數傳遞。

參數:

名稱 類型 描述
row Number|Array

可視行索引或格式更改數組[[row, col, value],...]

column Number 可選的

可視列索引。

value String 可選的

新價值。

source String 可選的

標識更改數組中將如何描述此更改的字符串(在onAfterChange或onBeforeChange回調中很有用)。

 

setDataAtRowProp (row,prop,value,source):爲單元格設置新值。要一次更改多個單元格(推薦方式),請將changes格式數組[[row, prop, value],...]作爲第一個參數傳遞。

 

名稱 類型 描述
row Number|Array

可視行索引或格式更改數組[[row, prop, value], ...]

prop String

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

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  

新設置對象(請參閱參考資料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
  }
})

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章