Estoy usando el complemento jQuery DataTables para ordenar los campos de la tabla. Mi pregunta es: ¿cómo deshabilito la ordenación para una columna en particular? He intentado con el siguiente código, pero no funcionó:
"aoColumns": [
{ "bSearchable": false },
null
]
También probé el siguiente código:
"aoColumnDefs": [
{
"bSearchable": false,
"aTargets": [ 1 ]
}
]
pero esto todavía no produjo los resultados deseados.
javascript
jquery
sorting
datatables
usman
fuente
fuente
Respuestas:
Esto es lo que estás buscando:
fuente
[-1]
, entonces[1]
,[2]
, etc? ¿Qué significa-1
eso? ¿No comienza la indexación de columnas en1
dataTables?-1
es el índice que cuenta desde el final de la tabla. (-1
es la última columna de la tabla)-desde el ejemplo de DataTables - atributos de datos HTML5- * - opciones de tabla
Por lo tanto, puede usar
data-orderable="false"
en lath
columna que no desea que se pueda ordenar. Por ejemplo, la segunda columna "Avatar" en la tabla a continuación no se podrá ordenar:Vea un ejemplo de trabajo en https://jsfiddle.net/jhfrench/6yxvxt7L/ .
fuente
Para deshabilitar la ordenación de la primera columna, intente con el siguiente código en datatables jquery. El nulo representa la habilitación de clasificación aquí.
Deshabilitar la ordenación en una columna en jQuery Datatables
fuente
Usando Datatables 1.9.4 he deshabilitado la ordenación de la primera columna con este código:
EDITAR:
Puede deshabilitar incluso utilizando la
no-sort
clase en su<th>
,y usa este código de inicialización:
EDITAR 2
En este ejemplo, estoy usando Datables con Bootstrap, siguiendo una publicación de blog anterior. Ahora hay un enlace con material actualizado sobre el diseño de tablas de datos con bootstrap .
fuente
Lo que uso es simplemente agregar un atributo personalizado en el td y controlar la clasificación al verificar ese valor de atributo automáticamente.
Entonces el código HTML será
Y JavaScript para inicializar tablas de datos será (obtendrá dinámicamente la información de clasificación de la tabla misma;)
fuente
data-bSortable
lugar debSortable
.bSortable
No es un atributo HTML válido.columnDefs
Ahora acepta una clase. Yo diría que este es el método preferido si desea especificar columnas para deshabilitar en su marcado:Entonces, en tu JS:
fuente
Esto es lo que puede usar para deshabilitar cierta columna para deshabilitarla:
Entonces, todo lo que tiene que hacer es agregar el "ordenable": falso a la columna que no desea ordenar.
fuente
fuente
"bSortable": false, "aTargets": [0]
Para deshabilitar la clasificación de una sola columna, pruebe este ejemplo:
Para varias columnas, pruebe este ejemplo: solo necesita agregar el número de columna. Por defecto comienza desde 0
Aquí solo
Column 3
funcionafuente
A partir de 1.10.5 , simplemente incluya
en columnDefs y apunte su columna con
La tabla debería gustar:
fuente
Si establece la
orderable
propiedad FIRST column en false, también debe establecer laorder
columna predeterminada , de lo contrario no funcionará, ya que la primera columna es la columna de pedido predeterminada. El siguiente ejemplo deshabilita la clasificación en la primera columna pero establece la segunda columna como la columna de orden predeterminada (recuerde que los índices de dataTables están basados en cero).fuente
Aquí
0
está el índice de la columna, si desea que no se ordenen varias columnas, mencione los valores de índice de la columna separados porcomma(,)
fuente
Para actualizar la respuesta de Bhavish (que creo que es para una versión anterior de DataTables y no funcionó para mí). Creo que cambiaron el nombre del atributo. Prueba esto:
fuente
data-orderable
... ver stackoverflow.com/a/32281113/1430996 .data-sortable
También funciona, pero no puedo encontrar dónde está documentado.Usando clase:
fuente
Esto me funciona para una sola columna
fuente
Si ya tiene que ocultar algunas columnas, como Ocultar columna de apellido. Solo tenía que concatenar fname, lname, así que hice una consulta pero oculté esa columna del front-end. Las modificaciones en Deshabilitar la ordenación en tal situación son:
Tenga en cuenta que tenía la funcionalidad de Ocultar aquí
Luego lo fusioné en
"aoColumnDefs"
fuente
Use el siguiente código para deshabilitar el pedido en la primera columna:
Para deshabilitar el pedido predeterminado, también puede usar:
fuente
Puede usar directamente el método .notsortable () en la columna
fuente
Hay dos formas, una se define en html cuando define encabezados de tabla
Otra forma es usar JavaScript, por ejemplo, tiene una tabla
luego,
fuente
También puedes usar un índice negativo como este:
fuente
El código se verá así:
fuente
Aquí está la respuesta!
targets
es el número de columna, comienza desde 0fuente
establezca la clase "no-sort" en la tabla y luego agregue css .no-sort {pointer-events: none! important; cursor: predeterminado! importante; imagen de fondo: ninguna! importante; } con esto ocultará la flecha hacia arriba y el evento de deshabilitación en la cabeza.
fuente