我正在尝试使用两个可编辑的slickgrid实例作为数据输入表单,我希望能够从第一个网格的最后一个单元格到第二个网格的第一个单元格,但是以下内容似乎工作。我错过了什么?
firstGrid.onKeyDown.subscribe(function(event) {
if (event.keyCode === 9 && event.shiftKey === false) {
if (firstGrid.getActiveCell().cell === lastCol) {
firstGrid.commitCurrentEdit();
secondGrid.gotoCell(0, 0, true);
}
}
});
实际上,如果我按Tab键三次就行了,但我真的希望它可以用一个按键来工作。
请注意,第一个网格只有一行,这就是我不必测试行的原因。
答案 0 :(得分:3)
首先,commitCurrentEdit
不是网格上的方法,事实证明没有必要。
所需要的是通过调用(jquery)事件对象的stopImmediatePropagation
方法来防止(网格)其他处理程序干扰:
firstGrid.onKeyDown.subscribe(function(event) {
if (event.keyCode === 9 && event.shiftKey === false) {
if (firstGrid.getActiveCell().cell === lastCol) {
secondGrid.gotoCell(0, 0, true);
event.stopImmediatePropagation();
}
}
});