Come disattivare la griglia in modo programmatico dall'evidenziazione di una riga quando si passa sopra con il mouse? Cercando di disabilitare questo solo in determinati momenti.jqGrid disabilitazione evidenziazione riga
Questo è il codice da Oleg, che ha funzionato:
$('#result-close').click(function() {
//Turn off hover highlighting
$("#list").unbind('mouseover');
$("#list").unbind('mouseout');
//Highlight row
$("#" + selid).effect("highlight", {}, 5000);
//Turn on hover highlighting
setTimeout(function(){
$("#list").bind('mouseover',function(e) {
ptr = $(e.target).closest("tr.jqgrow");
if($(ptr).attr("class") !== "subgrid") {
$(ptr).addClass("ui-state-hover");
}
return false;
}).bind('mouseout',function(e) {
ptr = $(e.target).closest("tr.jqgrow");
$(ptr).removeClass("ui-state-hover");
return false;
});
}, 2000);
$('#dialog').dialog("close");
});
Posso ottenere questo lavorare quando ho impostato questo nella configurazione iniziale della griglia. Ma se provo ad impostare questo dopo il caricamento iniziale usando '$ (" # lista "). SetGridParam ({hoverrows: true});' la nuova impostazione non sembra aver effetto. Ho provato a ricaricare la griglia ('$ (" # lista "). Trigger (" reloadGrid ");') dopo aver cambiato la proprietà, ma questo non sembrava funzionare. I documenti dicono che questo può essere cambiato ... qualche idea? –
@Marcus: hai ragione nella tabella sulla pagina http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options. Penso che sia più un errore nella documentazione. Tuttavia è possibile disattivare il passaggio delle righe dinamicamente ** una volta ** rispetto a '$ (" # elenco "). Unbind ('mouseover'); $ (" # lista "). Unbind ('mouseout');' . Guarda la demo su http://www.ok-soft-gmbh.com/jqGrid/Pager.htm (fai clic su "Disabilita le righe al passaggio del mouse"). Non è possibile ripristinare così facilmente lo stato iniziale. Per ripristinarlo devi associare gli eventi ancora una volta alle funzioni corrispondenti (vedi le linee grid.base.js 2109-2119) – Oleg
@Marcus: guarda http://github.com/tonytomov/jqGrid/blob/master/ js/grid.base.js # L2111 (righe 2111-2121) che sarà usato in caso di 'hoverrows: true' – Oleg