2010-07-19 38 views
5

Por defecto, si una célula jqGrid es editable, solo clic en la celda que cambia al modo de edición. ¿Hay alguna manera de que pueda editarlo con un doble clic? Haría más fácil hacer operaciones a nivel de fila, como eliminar, ya que todas las columnas de mi cuadrícula son editables.jqGrid Edición de celdas: haga doble clic para editar?

Respuesta

7

sí, se puede utilizar el evento ondblClickRow capturar un doble clic.

Aquí está un ejemplo sencillo para empezar:

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

Gracias, pero esto no es del todo lo que tenía en mente. Al mirar este código, parece que esto abrirá el formulario para editar el contenido de una fila completa, mientras que yo quiero hacer la edición en línea de una sola celda. Además, ¿cómo desactivo la edición de la celda con un solo clic, sin perder la capacidad de seleccionar la fila con un solo clic? – Kyle

+0

'editRow' es para edición en línea, no para edición de formularios. Además, en mis grillas necesitaba llamar explícitamente a 'editRow' del evento' onSelectRow' para permitir la edición con un solo clic. Si simplemente elimina este código, se desactivará con un solo clic. Hemos de tener en cuenta que al hacer doble clic para editar puede no ser intuitivo para los usuarios ... –

+0

Qué quiere decir que haya extraído el código del propio código jqGrid? Además, puede estar en lo cierto, pero realmente no creo que ni siquiera hacer clic en el texto para editar sea tan intuitivo. Al menos en aplicaciones como Excel, editar una celda requiere un doble clic, por lo que no deja de tener precedentes. ¿Pensamientos? – Kyle

2

Tengo la respuesta. Sólo tiene que colocar el código en las propiedades jqGrid Por ejemplo:

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