jquery - Cómo modificar el recuento de filas cuando se muestran resultados de búsqueda alfabéticos
django datatables (1)
SOLUCIÓN # 1
Puede usar la opción infoCallback
para definir una función a la que se llamará cuando la información de la tabla esté a punto de mostrarse.
Por ejemplo, el comportamiento predeterminado se puede lograr con el siguiente código.
var table = $(''#example'').DataTable({
"infoCallback": function(settings, start, end, max, total, pre){
return "Showing " + start + " to " + end + " of " + total + " entries"
+ ((total !== max) ? " (filtered from " + max + " total entries)" : "");
}
});
Debe ajustar los números de manera correspondiente para evitar contar los encabezados.
Ver este jsFiddle para código y demostración.
SOLUCIÓN # 2
Una solución alternativa sería usar JavaScript y no el HTML estático para alfabetizar el contenido de la tabla, de forma similar al ejemplo de agrupación de filas .
Entonces, el panel de información contendría automáticamente los números correctos porque las filas de encabezado se agregan dinámicamente como nodos adicionales que DataTables no cuentan como filas.
Ver este jsFiddle para código y demostración.
SOLUCIÓN # 3
Use el complemento AlphabetSearch que agrega soporte para la búsqueda alfabética.
Estoy usando DataTables para crear una tabla que sea capaz de filtrar dinámicamente el contexto. Estoy siguiendo el ejemplo básico, aquí .
Sin embargo, quiero hacer una personalización: para mostrar resultados alfabetizados en mi tabla, con una "fila de título" para cada letra del alfabeto. P.ej:
A
- Apple
- Avocado
B
- Bear
- Button
C
- Car
Lo he hecho con éxito (utilizando plantillas de Django
en el lado del servidor para la salida), pero la etiqueta del pie de página que Datatables muestra de forma predeterminada ahora es incorrecta, porque cuenta las filas del título. En el ejemplo anterior, dice:
Showing 1 to 8 of 8 entries
Cuando debería leer:
Showing 1 to 5 of 5 entries.
Profundizando más, se accede al resultado de la información a través de la API como "language": {"info": "Showing START to END of TOTAL entries",}
.
Tengo la capacidad de contar y guardar las filas del encabezado como una variable (por ejemplo, var headercount = 3
) desde mi plantilla de Django.
¿Cómo modifico START
, END
y TOTAL
en la API de DataTables para que sean precisas en cada página cuando se realiza un ciclo?