handsontable合并事件
beforeUnmergeCells
取消合并单元格选项时触发。
参数:
CellRange 选择单元格区域。
beforeUnmergeCells:function (cellRange:any){
data.sheetmergecell.map((item2:any,index2:any)=>{
if(cellRange.from.row == item2.row && cellRange.from.col == item2.col){
data.sheetmergecell.splice(index2,1)
}
})
}
data.sheetmergecell是渲染时的合并数据,取消合并操作时更改合并数据。
afterMergeCells
合并单元格选项时触发。
参数:
CellRange 选择单元格区域。
object 所提供单元格区域的父集合。
afterMergeCells: function(CellRange:any, object:any) {
data.sheetmergecell.push(object)
data.sheetmergecell = unqie(data.sheetmergecell)
}
将合并的数据加入已有的合并数据里。
注意:在首次渲染时会触发一次,要去重。
function unqie(tempArr:any) {
for (let i = 0; i < tempArr.length; i++) {
for (let j = i + 1; j < tempArr.length; j++) {
if (tempArr[i].row == tempArr[j].row && tempArr[i].col == tempArr[j].col ) {
tempArr.splice(j, 1);
j--
}
}
}
return tempArr;
}