2012-07-17 12 views
6

Ho un jqgrid con multiselect abilitato. Ma non voglio controllare la casella quando clicco sulla riga.JqGrid - Preventivo check checkbox evento sul clic di riga e mantiene evidenziata riga abilitata

Utilizzando il frammento di codice

$("#yourGrid").jqGrid("setGridParam", { 
    beforeSelectRow: function(rowId, e) { 
     return $(e.target).is("input:checkbox"); 
    } 
}); 

da this post ho potuto evitare di selezionare la casella di controllo ma ora non può evidenziare una riga particolare. Come posso abilitare l'evidenziazione di una riga mantenendo il multiselect sul clic di riga disabilitato.

risposta

3

C'è una proprietà sulla griglia che dovrebbe farlo per voi, secondo lo API.

multiboxonly 

Questa opzione funziona solo quando l'opzione multipla è impostata su true. Quando il multiselect è impostato su true, facendo clic in qualsiasi punto su una riga, seleziona tale riga; anche quando multiboxonly è impostato su true, la multiselezione è eseguita solo quando si fa clic sulla casella di controllo (stile Yahoo). Facendo clic su un'altra riga (supponiamo che la casella di controllo non sia selezionata) deseleziona tutte le righe e seleziona la riga corrente.

Con questo non dovrebbe essere necessario il vostro beforeSelectRow funzione:

jQuery("#grid").jqGrid({ 
    . . . 
    multiselect: true, 
    multiboxonly: true 
    . . . 
}); 
Problemi correlati