È possibile impedire che le righe JQGrid vengano selezionate e/o evidenziate?
-
23-09-2019 - |
Domanda
Ho guardato il documentazione Ma non sono stato in grado di trovare una risposta. C'è un modo per evitare che una fila venga evidenziata quando selezionata? Quello o anche un modo per impedire alla riga di essere selezionata. Mi piace l'opzione "Hoverrows: True", ma idealmente vorrei impedire che una fila venga selezionata sul clic.
Grazie,
Aggiornare:Sono stato in grado di "implementare" qualcosa che sembra essere una soluzione provvisoria. Non mi piace affatto e mi piace una soluzione migliore, se ce n'è una ...
Ho scoperto che se passo l'opzione
onSelectRow: function(rowid, status) {
$('#'+rowid).removeClass('ui-state-highlight');
}
Quando istancio il JQGrid, posso spogliare l'evidenziazione quando viene aggiunto.
C'è un altro modo più ideale per farlo?
Soluzione
Usa il seguente codice:
beforeSelectRow: function(rowid, e) {
return false;
}
Altri suggerimenti
Se tu, come me, hai un JQGrids Gazillion e non vuoi scavalcare OnSelettrow per tutti, ecco una versione globale della soluzione di Reigel che ha funzionato bene per me:
jQuery.extend(jQuery.jgrid.defaults, {
onSelectRow: function(rowid, e) {
$('#'+rowid).parents('table').resetSelection();
}
});
Suppongo che potresti affrontare direttamente questo nel CSS. Basta sovrascrivere i valori per la luce ui-statale per la tua tabella specifica
#table_id tr.ui-state-highlight {
border: inherit !important;
background: inherit !important;
color: inherit !important;
}
#table_id tr.ui-state-highlight a {
color: inherit !important;
}
#table_id tr.ui-state-highlight .ui-icon {
background-image: inherit !important;
}
Ho usato il valore inherit
Proprio come esempio, probabilmente dovrai copiare alcuni valori dal tuo tema.css per far funzionare questo.
Tentativo:
onSelectRow: function(rowid, status) {
$("#grid_id").resetSelection(); //Resets (unselects) the selected row(s). Also works in multiselect mode.
}
Puoi leggere le documentazioni qui. Spero che ti aiuti ...
Sì, usa il callback Rowattr:
rowattr: function (rowData,currentObj,rowId) {
if (rowData.SomeField=="SomeValue") {
return {"class": "ui-state-disabled"};
}
},
Questo anche la riga e disabilita la selezione.