2010-07-19 301 views
5

默认情况下,如果一个jqGrid单元格是可编辑的,单击该单元格将其更改为编辑模式。有什么办法可以让它在双击上进行编辑吗?这可以使删除等行级操作更容易,因为网格中的所有列都是可编辑的。jqGrid单元格编辑 - 双击编辑?

回答

7

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

下面是一个简单的例子,让你开始:

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

谢谢,但是这并不完全符合我的初衷。看看这段代码,看起来这会调出表单来编辑整行的内容,而我想对单个单元格进行内联编辑。另外,如何在单击时禁用单元格编辑,同时仍然可以通过单击来选择行? – Kyle 2010-07-21 11:58:17

+0

'editRow'用于内联编辑,而不是表单编辑。另外,在我的网格中,我需要通过'onSelectRow'事件显式调用'editRow',以便通过单击进行编辑。如果您只是删除此代码,您将禁用单击。请记住,双击编辑对您的用户来说可能并不直观...... – 2010-07-21 13:19:14

+0

您的意思是您是否从jqGrid代码本身移除了代码?此外,您可能是正确的,但我并不认为即使单击文本进行编辑也是非常直观的。至少在像Excel这样的应用程序中,编辑单元格需要双击,所以它不是没有先例的。思考? – Kyle 2010-09-16 12:19:03

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); 
     }