常用配置
- 1、固定行列位置
1 | fixedRowsTop:行数 //固定顶部多少行不能垂直滚动 |
- 2、拖拽行头或列头改变行或列的大小
1 | //当值为true时,允许拖动,当为false时禁止拖动 |
- 3、延伸列的宽度
1 | //last:延伸最后一列,all:延伸所有列,none默认不延伸。 |
- 4、拖动行或列到某一行或列之后
1 | 当值为true时,列可拖拽移动到指定列 |
- 5、设置当前行或列的样式
1 | currentRowClassName:当前行样式的名称 |
- 6、行分组或列分组
1 | groups:[{cols:[0,2]},{cols:[3,5]},{rows:[0,4]},{rows:[5,7]}] |
- 7、允许排序
1 | columnSorting:true/false/对象 //当值为true时,表示启用排序插件 |
- 8、数据显示
1 | data:[[第一行数据],[第二行数据],...[第n行数据]]/对象数组 |
- 9、右键菜单展示
1 | //当值为true时,启用右键菜单,为false时禁用 |
- 10、自适应列大小
1 | //当值为true且列宽未设置时,自适应列大小 |
- 11、最小,最大设置
1 | minCols:最小列数 |
- 12、自定义边框设置,可以进行初始化配置,如下:
1 | customBorder:true; |
1 | hot = Handsontable(container, { |
- 13、单元格合并配置,如下:
1 | mergeCells:true |
1 | if(key == "merge") { |
常用方法
怎样获得行标题和列标题的名称?
getRowHeader
getColHeader
怎么根据列名称得到列索引,根据列索引得到列名称?
propToCol
colToProp
表格的行数和列数?
countRows
countCols
操作单元格?
getCell(1,1) //获得单元格对象
selectCell(2,2)
getSelected() //返回坐标,如2,2,2,2
获得表格中某个范围range的数据?
getData(0,4)
getData(1,1,2,2)
getDataAtCell(1,3)
getDataAtRow(row)
getDataAtCol(col)
getDataAtRowProp(row, name)
setDataAtCell(row, col, val)
getActiveEditor
复制,粘贴?
getCopyableData
copyPaste.triggerPaste(event, val)
其他
$(‘#id’).handsontable(‘getInstance’);
$(‘#id’).handsontable(‘getData’);
$(‘#id’).handsontable(‘loadData’, data);
$(‘#id’).handsontable(‘destroy’);
specialSettings.afterGetColHeader
var finialSettings = $.extend(true, initialSettings, specialSettings);
$(‘#id’).handsontable(finialSettings);
beforeChange: function (changes, source) {}
beforeKeyDown: function(event, coords, td){}
afterOnCellMouseDown: function(event, coords, td){}
afterRender: function(isForced) {}
自定义插件
- 初始化时绑定自定义插件
1 | columnShift.data = data; |
- 自定义插件配置
1 | (function (Handsontable) { |
参考资料
https://www.jianshu.com/p/924481947c30
https://www.cnblogs.com/cosyer/p/6741546.html?utm_source=itdadao&utm_medium=referral