¿Es posible evitar que JQGrid Row se seleccione y/o se resalte?
-
23-09-2019 - |
Pregunta
He mirado el documentación Pero no he podido encontrar una respuesta. ¿Hay alguna manera de evitar que se resalte una fila cuando se seleccione? Que o incluso una forma de evitar que la fila se seleccione en absoluto. Me gusta la opción "Hoverrows: True", pero idealmente me gustaría evitar que se seleccione una fila en el clic.
Gracias,
Actualizar:He podido implementar "hacky" algo que parece ser una solución provisional. Realmente no me gusta en absoluto y me gustaría ser una mejor solución, si hay una ...
He descubierto que si paso la opción
onSelectRow: function(rowid, status) {
$('#'+rowid).removeClass('ui-state-highlight');
}
Cuando instanceo el JQGRID, puedo despojar el resaltado cuando se agrega.
¿Hay otra forma más ideal de hacer esto?
Solución
Use el siguiente código:
beforeSelectRow: function(rowid, e) {
return false;
}
Otros consejos
Si usted, como yo, tiene un Gazillion JQGrids y no quiere anular OnSelectrow por cada uno, aquí hay una versión global de la solución de Reigel que funcionó bien para mí:
jQuery.extend(jQuery.jgrid.defaults, {
onSelectRow: function(rowid, e) {
$('#'+rowid).parents('table').resetSelection();
}
});
Supongo que podría abordar esto en el CSS directamente. Simplemente anule los valores para la luz-luz-estado de ui para su tabla específica
#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;
}
Usé el valor inherit
Del mismo modo, es probable que necesite copiar algunos valores de su tema. CSS para que esto funcione.
probar:
onSelectRow: function(rowid, status) {
$("#grid_id").resetSelection(); //Resets (unselects) the selected row(s). Also works in multiselect mode.
}
puedes leer documentaciones aquí. Espero que te ayude ...
Sí, use la devolución de llamada Rowattr:
rowattr: function (rowData,currentObj,rowId) {
if (rowData.SomeField=="SomeValue") {
return {"class": "ui-state-disabled"};
}
},
Esto también se reúne en la fila y deshabilita la selección.