Tengo un problema con Datatables
. También revisé este enlace que no arrojó ningún resultado. He incluido todos los requisitos previos donde analizo los datos directamente en el DOM. Amablemente ayúdame a solucionar este problema.
Guión
$(document).ready(function() {
$('.viewCentricPage .teamCentric').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bPaginate": false,
"bFilter": true,
"bSort": true,
"aaSorting": [
[1, "asc"]
],
"aoColumnDefs": [{
"bSortable": false,
"aTargets": [0]
}, {
"bSortable": true,
"aTargets": [1]
}, {
"bSortable": false,
"aTargets": [2]
}],
});
});
jquery
console
datatables
Thriveni
fuente
fuente
Respuestas:
FYI dataTables requiere una tabla bien formada. Debe contener
<thead>
y<tbody>
etiquetas, de lo contrario arroja este error. Verifique también que todas sus filas, incluida la fila de encabezado, tengan el mismo número de columnas.Lo siguiente arrojará un error (no
<thead>
y<tbody>
etiquetas)Lo siguiente también arrojará un error (número desigual de columnas)
Para más información lea más aquí
fuente
Una causa común
Cannot read property 'fnSetData' of undefined
es el número de columnas que no coinciden, como en este código erróneo:Si bien el siguiente código con uno
<th>
por<td>
(el número de columnas debe coincidir) funciona:El error también aparece cuando se usa un thead bien formado con un colspan pero sin una segunda fila.
Para una tabla con 7 columnas, lo siguiente no funciona y vemos "No se puede leer la propiedad 'mData' de undefined" en la consola de JavaScript:
Mientras esto funciona:
fuente
tr
utilizado para encerrar todos losth
elementos. ¡Solo lo dejo aquí en caso de que alguien lo encuentre útil!th
columna en mithead
, que estaba causando el error. La respuesta de Nathan Hanna también parece indicar este problema también.th
en mithead
!colspan
interpretación sigue siendo un problema. Tuve que poner algo en blancoth
y nocolspan
para deshacerme de los errores. Pero qué complemento simple para obtener esta funcionalidad. Por cierto: Rails 5.1.5, Bootstrap 4.0.0. Acabo de agregar las hojas de estilo y los CDN de script, y$(document).ready…
a la página.Tuve este mismo problema al usar datos DOM en una vista Rails creada a través del generador de andamios. Por defecto, la vista omite
<th>
elementos para las últimas tres columnas (que contienen enlaces para mostrar, ocultar y destruir registros). Descubrí que si agregué títulos para esas columnas en un<th>
elemento dentro de<thead>
eso, solucionó el problema.No puedo decir si este es el mismo problema que tienes ya que no puedo ver tu html. Si no es el mismo problema, puede usar el depurador de Chrome para averiguar en qué columna está produciendo un error haciendo clic en el error en la consola (que lo llevará al código en el que está fallando), luego agregando un condicional punto de ruptura (en
col==undefined
). Cuando se detiene, puede verificar la variablei
para ver en qué columna se encuentra actualmente, lo que puede ayudarlo a descubrir qué es diferente de esa columna de las otras. ¡Espero que ayude!fuente
colspan="3"
pero obtuve errores (así es como terminé en esta página). Jugué un poco, pero finalmente me di por vencido y creé tresth
elementos y con el primero "Detalles" y dejé los dos últimos en blanco. El trasteo sugirió que dataTables tiene problemas con colspan como el último de la serie. La corrección de OP es extraña porque el número de columnas no suma. No tenía ninguna condición sobre la mesa, comoorder
osortable
. Agregué esos después de que lo hice funcionar.Tener
<thead>
y<tbody>
con los mismos números de<th>
y<td>
resolvió mi problema.fuente
Esto también puede ocurrir si tiene argumentos de tabla para cosas como las
'aoColumns':[..]
que no coinciden con el número correcto de columnas. Problemas como este pueden ocurrir comúnmente al copiar el código de pegado de otras páginas para iniciar rápidamente la integración de sus tablas de datos.Ejemplo:
Esto no funcionará:
Pero esto funcionará:
fuente
Una razón más por la que esto sucede es debido al parámetro de columnas en la inicialización de DataTable.
El número de columnas debe coincidir con los encabezados.
Tuve 7 columnas
fuente
Tienes que eliminar tu
colspan
y el número deth
ytd
debe coincidir.fuente
Consejos 1:
Consulte este enlace para obtener algunas ideas:
https://datatables.net/forums/discussion/20273/uncaught-typeerror-cannot-read-property-mdata-of-undefined
Consejos 2:
<thead></thead>
y<tbody></tbody>
etiquetasstyle='display:none'
misma propiedad se aplica tanto en el encabezado como en el cuerpo.<td>, <tr>
problemasfuente
en mi caso este error ocurrió si uso la tabla sin encabezado
fuente
Me enfrenté al mismo error cuando intenté agregar colspan para durar
y lo resolvió agregando una columna oculta al final de tr
La explicación de esto es que, por alguna razón, DataTable no se puede aplicar a la tabla con colspan en el último th, pero se puede aplicar, si colspan se usa en cualquier th medio.
Esta solución es un poco hacky, pero más simple y más corta que cualquier otra solución que encontré.
Espero que eso ayude a alguien.
fuente
Un problema ligeramente diferente para mí de las respuestas dadas anteriormente. Para mí, el marcado HTML estaba bien, pero faltaba una de mis columnas en JavaScript y no coincidía con el html.
es decir
Mi guión: -
fuente
Tenía una tabla generada dinámicamente, pero mal formada con un error tipográfico. Copié una
<td>
etiqueta dentro de otra<td>
por error. Mi recuento de columnas coincidió. Tenía<thead>
y<tbody>
etiquetas. Todo coincidió, excepto por este pequeño error que no noté por un tiempo, porque mi columna tenía muchas etiquetas de enlaces e imágenes.fuente
Encontré el mismo problema pero estaba generando la tabla dinámicamente . En mi caso, mi mesa tenía faltantes
<thead>
y<tbody>
etiquetas.aquí está mi fragmento de código si ayudó a alguien
fuente
Además de los inconsistentes y los números, un elemento faltante dentro de la parte de columnas de scripts de tabla de datos también puede causar esto. Corregir eso corrigió mi barra de búsqueda de tablas de datos.
Estoy hablando de esta parte;
Luché con este error hasta que me señalaron que esta parte tenía uno menos "nulo" que el total de mi cuenta.
fuente
Este me volvió loco: cómo representar una tabla de datos con éxito en una vista .NET MVC. Esto funcionó:
Script en archivo JS:
fuente
En mi caso, y usando ASP.NET GridView, UpdatePanel y con DropDownList (con el complemento Elegido donde restablezco el valor a cero usando una línea Javascript), recibí este error y probé todo sin esperanza durante días. El problema era que el código de mi menú desplegable en el código detrás era el siguiente y cuando selecciono un valor dos veces para aplicar su acción a las filas de cuadrícula seleccionadas, aparece ese error. Durante días pensé que era un problema de Javascript (nuevamente, en mi caso) y finalmente la solución estaba dando cero para el valor de reducción con el proceso de actualización:
Esto fue mi culpa:
fuente
Debe ajustar sus filas
<thead>
para los encabezados de columna y<tbody>
para las filas. Asegúrate también de que tienes el no. de encabezados de columna<th>
como lo hace para eltd
fuente
Puedo estar surgiendo por el campo aoColumns. Como se indica AQUÍ
Luego debe agregar campos como en la tabla Columnas
fuente
en mi caso, la causa de este error es que tengo 2 tablas que tienen el mismo nombre de identificación con una estructura de tabla diferente, debido a mi hábito de copiar y pegar el código de la tabla. asegúrese de tener una identificación diferente para cada tabla.
fuente
Encontré alguna "solución".
Este código no funciona:
Pero esto está bien:
Creo que el problema es que el último TH no puede tener el atributo colspan.
fuente