2010-07-19 20 views
5

Per impostazione predefinita, se una cella jqGrid è modificabile, singolo click su quella cella cambia in modalità di modifica. C'è un modo in cui posso farlo modificare con un doppio clic? Renderebbe più semplice eseguire operazioni a livello di riga come l'eliminazione, poiché tutte le colonne della mia griglia sono modificabili.jq Modifica cella Grid - Fare doppio clic per modificare?

risposta

7

Sì, è possibile utilizzare l'evento ondblClickRow di catturare un doppio clic.

Ecco un semplice esempio per iniziare:

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

Grazie, ma questo non è proprio quello che avevo in mente. Guardando questo codice, sembra che questo porterebbe il modulo per modificare il contenuto di un'intera riga, mentre io voglio fare la modifica in linea di una singola cella. Inoltre, come faccio a disattivare la modifica delle celle in un click, pur mantenendo la possibilità di selezionare la riga con un solo clic? – Kyle

+0

'editRow' è per la modifica in linea, non forma la modifica. Inoltre, nelle mie griglie avevo bisogno di chiamare esplicitamente 'editRow' dall'evento' onSelectRow' per abilitare la modifica tramite un solo click. Se rimuovi semplicemente questo codice, avrai disabilitato il clic singolo. Tieni presente che fare doppio clic per modificare potrebbe non essere intuitivo per i tuoi utenti ... –

+0

Vuoi dire che hai rimosso il codice dal codice jqGrid stesso? Inoltre, potresti essere corretto, ma non penso che anche il solo clic sul testo per il montaggio sia così intuitivo. Almeno in app come Excel, la modifica di una cella richiede un doppio clic, quindi non è senza precedenti. Pensieri? – Kyle

2

ho avuto la risposta. Hai solo bisogno di inserire il codice sulle proprietà jqGrid Per esempio:

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