jqGrid 单元格编辑 - 双击编辑?

Posted

技术标签:

【中文标题】jqGrid 单元格编辑 - 双击编辑?【英文标题】:jqGrid Cell Editing - Double Click to Edit? 【发布时间】:2011-03-18 01:07:37 【问题描述】:

默认情况下,如果 jqGrid 单元格是可编辑的,单击该单元格会将其更改为编辑模式。有什么办法可以让它通过双击进行编辑?这样可以更轻松地执行行级操作,例如删除,因为我的网格中的所有列都是可编辑的。

【问题讨论】:

【参考方案1】:

是的,您可以使用ondblClickRow 事件来捕获双击。

下面是一个简单的示例,可以帮助您入门:

ondblClickRow: function()
    var row_id = $("#grid").getGridParam('selrow');
    jQuery('#grid').editRow(row_id, true);

【讨论】:

谢谢,但这不是我的想法。查看这段代码,这似乎会调出表单来编辑整行的内容,而我想对单个单元格进行内联编辑。另外,如何在单击禁用单元格编辑的同时仍保留单击选择行的能力? editRow 用于内联编辑,而不是表单编辑。此外,在我的网格中,我需要从onSelectRow 事件中显式调用editRow 以通过单击启用编辑。如果您只是删除此代码,您将禁用单击。请记住,双击编辑可能对您的用户来说并不直观...... 您的意思是从 jqGrid 代码本身中删除了代码吗?另外,您可能是对的,但我真的不认为即使单击文本进行编辑也是如此直观。至少在 Excel 等应用程序中,编辑单元格需要双击,因此并非没有先例。想法?【参考方案2】:

我得到了答案。您只需要将代码放在 jqgrid 属性上 例如:

width: 800,
        height: 200,
        caption:"   .:: Captura de Datos ::.",
        addedrow: "last",
        ondblClickRow: function (rowid, iRow,iCol) 
            alert('Doble Click');
            //jQuery("#TBLReporte").editCell(iRow, iCol, true);
        

【讨论】:

以上是关于jqGrid 单元格编辑 - 双击编辑?的主要内容,如果未能解决你的问题,请参考以下文章

如何关闭单元格编辑器?

jQgrid单元格编辑最后一个无法自动保存解决办法

JQgrid实现全表单元格编辑

jqGrid单元格编辑配置,事件及方法

单击jqgrid网格时如何仅突出显示单元格

怎样获取编辑后的jqgrid的值