【问题标题】:In jqGrid, can you double click a row to bring up the edit form?在jqGrid中,你可以双击一行来调出编辑表单吗?
【发布时间】:2011-02-13 05:34:30
【问题描述】:

In this demo of jqGrid,当您单击“编辑选定行”按钮时:

它会弹出一个编辑表单。

有没有办法双击网格中的一行来调出同样的编辑表单?

【问题讨论】:

标签: jquery jqgrid


【解决方案1】:

可以很简单的实现为

ondblClickRow: function(rowid) {
    jQuery(this).jqGrid('editGridRow', rowid);
}

您还可以使用文档中描述的editGridRow 的任何其他属性。例如

ondblClickRow: function(rowid) {
    jQuery(this).jqGrid('editGridRow', rowid,
                        {recreateForm:true,closeAfterEdit:true,
                         closeOnEscape:true,reloadAfterSubmit:false});
}

【讨论】:

  • 作为jqgrid专家,您对这个问题有什么想法吗:stackoverflow.com/questions/4876433/…
  • 另外,这似乎是一个完全的谜:stackoverflow.com/questions/4982992/…
  • @Oleg ,我真的很喜欢 ondblClickRow 执行单元格编辑。如何导致选择 不同 单元格以导致保存正在编辑的单元格?
  • @Brian L.:我希望你写的都是关于inline editing 而不是cell editing。如果我理解你是正确的,你只需要实现onSelectRow、onCellSelect 或beforeSelectRow 事件处理程序,您可以在其中将最后编辑的行的 id 与当前单击的行的 id 进行比较。如果 id 不同,您可以调用 saveRow 保存最后编辑的行。
  • @Oleg:是的,很抱歉我写错了。编写事件处理程序对我来说听起来不错,我会尝试一下 - 我会尽快跟进。再次感谢您的帮助!
【解决方案2】:

简单的方法

ondblClickRow : function(rowid) {
    $("#edit_mygridId").trigger("click");
}

【讨论】:

    【解决方案3】:

    【讨论】:

    【解决方案4】:

    这里有一个更复杂的ondblClickRow,从我的代码中,它从表单中获取数据并在提交之前更改了一个变量,还在发布之前添加了一个变量。

    ondblClickRow: function(rowid) {
    jQuery(this).jqGrid('editGridRow', rowid,
    {
    recreateForm:true,
    closeAfterEdit:true,
    closeOnEscape:true,
    reloadAfterSubmit:true,
    url:"proc/jqgridUsers.php",
    editCaption : "Edit User",
    bottominfo : "Fields (*) are requeired ",
    height:330,
    width:350,
                beforeSubmit:function(postdata, formid){
                var dataString = $("#formid").serialize();
                var ord1 = document.getElementById('ord1').value;
                var ord2 = document.getElementById('ord2').value;
                var ordx = hex_sha1(hex_md5(document.getElementById('ord1').value));
                postdata.ord1 = ordx;
                postdata.ord2 = "";
                var boolcontrol = false;
                var message="";
                    if (ord1!=ord2) {
                return [boolcontrol,"Password are not the same!!"];
                    } else {
                boolcontrol = true;
                    }
                return [boolcontrol,message]; // no error
     }                                                                                                                      
    });
    }
    

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2013-04-27
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多