handsontable 右键无法实现合并单元格功能
<script type="text/javascript">
var handsontableData = <%=GetDataForHandsontable()%>;
var hot = new Handsontable(document.getElementById('handsontable'), {
// data: handsontableData,
data: Handsontable.helper.createEmptySpreadsheetData(25, 4),
licenseKey: 'non-commercial-and-evaluation',
contextMenu: true,
colWidths: [100, 150, 200, 150],
contextMenu: {
items: {
row_above: {
name: '上方插入',
},
row_below: {
name: '下方插入',
},
merge_cells: {
name: '合并单元格',
callback: function () {
// 自定义合并单元格的逻辑
this.mergeRange(this.hot._createCellRange(start, start, end));
const selected = this.getSelected();
if (selected) {
const [startRow, endRow] = selected[0];
const [startCol, endCol] = selected[1];
this.mergeCells({ row: startRow, col: startCol }, { row: endRow, col: endCol });
}
},
disabled: function () {
// 禁用条件,例如不允许合并选中单个单元格
const selected = this.getSelected();
return !selected || (selected[3] - selected[1] === 1 && selected[2] - selected[0] === 1);
}
}
}
},
mergeCells: true,
});
// 在CSS中定义.centered类
hot.setDataAtCell([
[0, 0, "检测项目"],
[0, 1, "标准(设计)要求"],
[0, 2, "测试值"],
[0, 3, "符合性"],
[1, 3, handsontableData[0].cno],
]);
function a() {
}
</script>
handsontable是这样引入的
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/handsontable@latest/dist/handsontable.full.min.css" />
<script src="https://cdn.jsdelivr.net/npm/handsontable@8.4.0/dist/handsontable.full.min.js"></script>
</head>