我是handsontable.js的新手,我遇到了一个小问题。我创建了一个自定义上下文菜单,效果很好。
现在,当我打开一个上下文菜单并应用一个项目,然后再次为同一个单元格打开它时,它将不会显示为已选中。有没有人有想法,如何添加这样的选择(以小刻度/右标/突出显示的形式)?
这是我的代码:
$("#tabledata").handsontable({
data: datas,
startRows: 1,
startCols: 2,
minRows: 1,
minCols: 2,
maxRows: 400,
maxCols: 200,
rowHeaders: true,
colHeaders: false,
minSpareRows: 1,
minSpareCols: 1,
mergeCells: true,
manualColumnResize: true,
manualRowResize: true,
cells: function (row, col, prop) {
var cellProperties = {};
cellProperties.renderer = "defaultRenderer"; //uses lookup map
return cellProperties;
},
contextMenu: {
items: {
"row_above": {},
"row_below": {},
"col_left": {},
"col_right": {},
"hsep2": "---------",
"remove_row": {name:'Remove row(s)'},
"remove_col": {name:'Remove columns(s)'},
"hsep3": "---------",
"alignment" : {},
"mergeCells" : {},
"hsep4": "---------",
"undo": {},
"redo": {},
"hsep5": "---------",
"bold": {"name": "Bold"},
"italic": {"name": "Italic"},
"highlighted": {"name": "Highlight"}
}
},
cell: metadata,
mergeCells: metadata
});
以下是它的外观图像:
有人有想法吗? 欢迎所有答案。
答案 0 :(得分:0)
我不确定但也许这可以提供帮助 http://docs.handsontable.com/0.20.2/demo-context-menu.html 在这个例子中,他们使用
items: {
"row_above": {
disabled: function () {
// if first row, disable this option
return hot3.getSelected()[0] === 0;
}
},
"row_below": {},
"hsep1": "---------",
"remove_row": {
name: 'Remove this row, ok?',
disabled: function () {
// if first row, disable this option
return hot3.getSelected()[0] === 0
}
},
"hsep2": "---------",
"about": {name: 'About this menu'}
}
}
描述上下文菜单元素的关键项 并且可以访问所选单元格hot.getSelected() 也许您可以获取单元格的设置以确定是否存在活动属性并添加勾选