Jquery 如何在jqgrid内联编辑中启用上/下箭头键

Jquery 如何在jqgrid内联编辑中启用上/下箭头键,jquery,asp.net-mvc-2,jqgrid,Jquery,Asp.net Mvc 2,Jqgrid,如何实现类似excel的订单明细编辑网格 此网格应类似于excel: 最好是向上/向下箭头键移动到上一行/下一行并开始单元格编辑 如果按下上/下箭头键或单元格接收到焦点,则所有单元格始终处于编辑模式或编辑模式启动 以任何其他方式 选项卡移动到行中的下一个单元格 “提交”按钮将所有行发送到服务器中的ASP.NETMVC控制器 使用jqGrid实现这一点是否合理/如何实现? 我发现的所有jqGrid示例都不允许在编辑模式下使用上下箭头键移动下一行/上一行。 如果jqGrid不合理,在哪里可以找到其他

如何实现类似excel的订单明细编辑网格

此网格应类似于excel:

  • 最好是向上/向下箭头键移动到上一行/下一行并开始单元格编辑
  • 如果按下上/下箭头键或单元格接收到焦点,则所有单元格始终处于编辑模式或编辑模式启动 以任何其他方式
  • 选项卡移动到行中的下一个单元格
  • “提交”按钮将所有行发送到服务器中的ASP.NETMVC控制器
  • 使用jqGrid实现这一点是否合理/如何实现? 我发现的所有jqGrid示例都不允许在编辑模式下使用上下箭头键移动下一行/上一行。 如果jqGrid不合理,在哪里可以找到其他可以用来实现这一点的免费组件? 在哪里可以找到此示例代码

    更新1

    我让这个问题更具说服力,希望更简单:

    如何在jqgrid的内联编辑模式下启用向上和向下箭头键

    如何强制向上箭头键在内联编辑模式下移动上一行和向下箭头键到下一行

    可取的行动可能是:

  • 应保存当前行
  • 如果保存成功且存在下一行/上一行,则应将焦点移至同一列中的此行
  • 应启动内联编辑,且当前列应相同
  • Oleg提供的链接显示在单元格编辑模式下移动到同一行的下一个/上一个单元格。如何在内联编辑中移动到下一行/上一行。即使可以实现以下步骤中的soem,它也会使jqGrid更适合快速数据输入。我尝试了下面的代码,但它不起作用,因为在另一行中可能并没有输入元素。解决方案是强制jqgrid以编辑模式显示所有单元格,然后可以使用此代码。不知道这是否合理/如何实施

    <script>
    $(document).ready(function () {
        $("input.cell").keyup(function (e) {
            switch (e.keyCode) {
                // up arrow        
                case 40:
                    $(this).parent()
                        .parent()
                        .next()
                        .children("td")
                        .children("input.cell[name="
                            + $(this).attr("name") + "]")
                        .focus();
                    break;
    
                // down arrow        
                case 38:
                    $(this).parent()
                        .parent()
                        .prev()
                        .children("td")
                        .children("input.cell[name="
                            + $(this).attr("name") + "]")
                        .focus();
                    break;
            }
        });
    });</script>
    
    
    $(文档).ready(函数(){
    $(“input.cell”).keyup(函数(e){
    开关(如钥匙代码){
    //向上箭头
    案例40:
    $(this.parent())
    .parent()
    .next()
    .儿童(“td”)
    .children(“input.cell[name=”
    +$(this.attr(“name”)+“]”)
    .focus();
    打破
    //向下箭头
    案例38:
    $(this.parent())
    .parent()
    .prev()
    .儿童(“td”)
    .children(“input.cell[name=”
    +$(this.attr(“name”)+“]”)
    .focus();
    打破
    }
    });
    });
    

    提供了在Tab键上保存行的示例,我是否应该尝试使用此代码或其他想法解决此问题?

    我花了一整天的时间研究jqGrid以用于我们的软件,虽然该工具提供了很多潜力,但您要求实现的目标似乎只有通过密集的定制才能实现。我希望有人回应并证明我错了,但我想你和我只能自己扩展它来添加这个功能


    真的很遗憾,如果它有这种开箱即用的功能,那将是非常有价值的。

    我花了一整天的时间研究jqGrid,以便在我们的软件中使用,虽然该工具提供了很多潜力,但您要求实现的功能似乎只有通过严格的定制才能实现。我希望有人回应并证明我错了,但我想你和我只能自己扩展它来添加这个功能


    真的很遗憾,如果它有这种开箱即用的功能,那它将是非常有价值的。

    请看。如果它不完全是你所需要的,那么它显示了你如何实现你自己所需要的行为。@Oleg:谢谢。我将此演示中的方法添加到您的示例中。单元编辑完成后,无法移动到下一列:enter仅终止编辑,不会移动到下一列。编辑后按Tab键将被忽略。编辑模式下的上/下箭头也将被忽略。如何强制enter和tab移动到同一行的下一列,以及向上/向下箭头移动到上一行/下一行的同一列?@Oleg:我更新了问题,希望能让它更具预见性,并从中添加了代码查看。如果它不完全是你所需要的,那么它显示了你如何实现你自己所需要的行为。@Oleg:谢谢。我将此演示中的方法添加到您的示例中。单元编辑完成后,无法移动到下一列:enter仅终止编辑,不会移动到下一列。编辑后按Tab键将被忽略。编辑模式下的上/下箭头也将被忽略。如何强制enter和tab移动到同一行的下一列,以及向上/向下箭头移动到上一行/下一行的同一列?@Oleg:我更新了问题,希望能让它更具预见性,并添加了代码。9年后我们正试图做同样的事情,但仍然面临同样的问题。9年后,我们正试图做同样的事情仍然面临同样的问题。