【问题标题】:How to edit the selected cell on jqGrid如何在jqGrid上编辑选定的单元格
【发布时间】:2011-09-26 01:42:23
【问题描述】:

我正在使用 jqGrid 进行内联编辑,但是当我选择一个单元格时,光标设置在该行的第一列,但我想知道是否有任何方法可以编辑我拥有的当前单元格点击,而不是第一行。

提前致谢。

【问题讨论】:

标签: jquery asp.net-mvc-3 jqgrid


【解决方案1】:

非常好的观点!

我个人更喜欢使用 ondblClickRow 事件处理程序来启动编辑模式。所以你可以使用editRowoneditfunc参数:

ondblClickRow: function(rowid,iRow,iCol,e) {
    grid.jqGrid('editRow',rowid,true,function(){
        $("input, select",e.target).focus();
    });
    return;
}

或者只是在editRow的调用之后放置设置焦点的类似代码:

ondblClickRow: function(rowid,iRow,iCol,e) {
    grid.jqGrid('editRow',rowid,true);
    $("input, select",e.target).focus();
    return;
}

查看对应的demohere

【讨论】:

  • 感谢您的帮助。还有一个问题,数据源中的每一列都必须有一个名称,对吗?我在示例中看到过。
  • @Spectre:不客气!您当前的问题现在解决了吗?如果是这样,您可以将答案标记为“已接受”(有关详细信息,请参阅here)。关于你的下一个问题:有不同的方法来填充网格包含。您可以找到文档here。在网格填充的某些方法中,您为对象提供了具有命名属性的对象,这些属性表示行或使用字符串数组,例如 jsonReader 中的 repeatitems: true
  • 是的,这就是我想做的,但它不起作用,也许我做错了什么,因为它仍在选择行的第一列。在我的代码中,我有很多jqgrid,我应该需要使用网格的名称或id来调用jquery函数吧?
  • 顺便说一句,我在控制器上以 Json 格式创建数据,例如:haacked.com/archive/2009/04/14/…
  • 我已经测试了我的代码,它似乎在 chrome 和 firefox 上运行良好,但它不适用于 ie8。可能是什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
相关资源
最近更新 更多