Saltar al contenido

Error con JQuery DataTables y el complemento ColVis “No se puede leer la propiedad ‘sWidth’ de undefined”

Solución:

Tuve este error cuando el número de columnas en

<thead></thead>

era diferente del número de columnas en

$('#ls-table').DataTable($.extend({}, window.coonDataTableOptions, {
    columns: [
         <here>
    ]
 }));

En la línea 3255 del código fuente de DataTables se encuentra esta línea de código:

nThs[i].style.width = o.aoColumns[iVis].sWidth;

En este caso o.aoColumns[iVis] es nulo porque la columna representada por el índice se acaba de ocultar. Parece que me he encontrado con un caso de esquina que los creadores de los complementos no esperaban. El código anterior se llama en respuesta a un evento de tablas de datos interno, que se activa mediante un método llamado por ColVis cuando una columna está oculta. Todo lo que se necesita para solucionar esto es cambiar el código anterior a:

var column = o.aoColumns[iVis];

if(column != null) {
    nThs[i].style.width = o.aoColumns[iVis].sWidth;
}

Desafortunadamente, esto requiere editar el código del complemento principal, pero incluiré un informe de error y espero que lo resuelvan pronto. Mientras tanto, es de esperar que esto ayude a las personas que buscan una solución alternativa.

Este error se produce solo debido a que se rellenan columnas dentro de

… DataTable (… “columnas”: …)

no coincide con la página HTML definida Tiene número de columnas.

.. ..

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *