我不确定我做对了。“如果我到达可见记录的末尾,它不会滚动以跟上。”是什么意思?你的意思是一旦你到达顶行/底行你就不能再往前走了,或者你的意思是如果你继续水平滚动并且一旦你越过可见记录的末尾,你的编辑模式就会消失。
我有类似的excel 像 gridedit 实现,我在编辑模式下有向上和向下箭头导航以进行单元格编辑。第一段中的链接将带您进入jsfiddle 示例。在 javascript 部分中查找HandleInputNavigation函数。我已将列的editoptions下 colModel 中的keydown事件绑定到HandleInputNavigation函数。那就是我处理向上/向下导航的地方。
5/24 更新:您的代码应如下所示:
if (iRow && iCol) {
var isShift = window.event.shiftKey ? true : false;
var top = 1; //UPDATED
var bottom = grid.getGridParam('reccount');
var left = 0;
var right = grid.getGridParam("colNames").length - 1;
switch (key) {
case 38:
// up
if (iRow === top) saveCell(iRow, iCol); //UPDATED
else editNewCell(iRow - 1, iCol);
break;
case 40:
// down
if (iRow === bottom) saveCell(iRow, iCol); //UPDATED
else editNewCell(iRow + 1, iCol);
break;
...
...
更新的小提琴