J'obtiens cette erreur avec ce qui suit:
jquery.dataTables.js:4089 Uncaught TypeError: Cannot read property 'style' of undefined(…)
_fnCalculateColumnWidths @ jquery.dataTables.js:4089
_fnInitialise @ jquery.dataTables.js:3216
(anonymous function) @ jquery.dataTables.js:6457
each @ jquery-2.0.2.min.js:4
each @ jquery-2.0.2.min.js:4
DataTable @ jquery.dataTables.js:5993
$.fn.DataTable @ jquery.dataTables.js:14595
(anonymous function) @ VM3329:1
(anonymous function) @ VM3156:180
l @ jquery-2.0.2.min.js:4
fireWith @ jquery-2.0.2.min.js:4
k @ jquery-2.0.2.min.js:6
(anonymous function) @ jquery-2.0.2.min.js:6
La ligne ci-dessus faisant référence à (fonction anonyme) @ VM3156: 180 est:
TASKLISTGRID = $("#TASK_LIST_GRID").DataTable({
data : response,
columns : columns.AdoptionTaskInfo.columns,
paging: true
});
Donc je suppose que c'est là que ça échoue.
L'élément HTML ID existe:
<table id="TASK_LIST_GRID" class="table table-striped table-bordered table-hover dataTable no-footer" width="100%" role="grid" aria-describedby="TASK_LIST_GRID_info">
<thead>
<tr role="row">
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Solution</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Status</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Category</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Type</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Due Date</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Create Date</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Owner</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Comments</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Mnemonic</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Domain</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Approve</th>
<th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Dismiss</th>
</tr>
</thead>
<tbody></tbody>
</table>
En outre, il existe des colonnes, des tableaux AdoptionTaskInfo.columns et des objets de réponse. Je ne sais pas comment déboguer ce qui ne va pas. Toutes les suggestions seront utiles.
javascript
jquery
node.js
datatables
Débutant
la source
la source
.style
dans votre code. Vous essayez d'accéder à cette propriété d'une variable non définie. Vous pouvez déboguer à partir de là.Réponses:
Le problème est que le nombre de balises <th> doit correspondre au nombre de colonnes dans la configuration (le tableau avec la clé "colonnes"). S'il y a moins de balises <th> que de colonnes spécifiées, vous obtenez ce message d'erreur légèrement cryptique.
(la bonne réponse est déjà présente sous forme de commentaire mais je la répète comme réponse donc c'est plus facile à trouver - je n'ai pas vu les commentaires)
la source
CAUSES POSSIBLES
th
éléments dans l'en-tête ou le pied de page du tableau diffère du nombre de colonnes dans le corps du tableau ou défini à l'aide de l'columns
option.th
élément dans l'en-tête du tableau.columnDefs.targets
option.SOLUTIONS
th
éléments dans l'en-tête ou le pied de page du tableau correspond au nombre de colonnes défini dans lecolumns
option.colspan
attribut dans l'en-tête du tableau, assurez-vous d'avoir au moins deux lignes d'en-tête et unth
élément unique pour chaque colonne. Voir En- tête complexe pour plus d'informations.columnDefs.targets
option, assurez-vous que l'index de colonne de base zéro fait référence aux colonnes existantes.LIENS
Voir jQuery DataTables: Erreurs courantes de la console JavaScript - TypeError: Impossible de lire la propriété 'style' de undefined pour plus d'informations.
la source
Vous avez dit que toutes les suggestions seraient utiles, donc actuellement, j'ai résolu mon problème DataTables "Impossible de lire la propriété" style "indéfini" mais mon problème était essentiellement d'utiliser des index incorrects lors de la phase d'initiation de la table de données.
columnDefs
section de . J'ai 9 colonnes et les index sont 0, 1, 2, .., 8 mais j'utilisais des index pour 9 et 10 donc après avoir corrigé le mauvais problème d'index, le défaut a disparu. J'espère que ça aide.En bref, vous devez surveiller le montant de vos colonnes et les index s'ils sont cohérents partout.
Code du buggy:
Code fixe:
la source
J'ai eu ce problème lorsque j'ai défini l'
colspan
en-tête du tableau. Donc ma table était:Puis une fois que je le change en:
Tout fonctionnait très bien.
la source
Assurez-vous que dans vos données d'entrée,
response[i]
etresponse[i][j]
, ne sont pasundefined
/null
.Si tel est le cas, remplacez-les par "".
la source
Cela peut également se produire lors du dessin d'une nouvelle (autre) table. J'ai résolu ce problème en supprimant d'abord le tableau précédent:
$("#prod_tabel_ph").remove();
la source
La solution est assez simple.
Remarque : colonnes: colonnes.AdoptionTaskInfo.columns a au moins une colonne non définie dans l'en-tête du tableau
la source
Curieusement, j'obtenais l'erreur suivante pour avoir une ème / ème paire de trop et Google m'a toujours dirigé ici. Je vais le laisser par écrit pour que les gens puissent le trouver.
la source
Dans mon cas, je mettais à jour deux fois la table de données côté serveur et cela me donne cette erreur. J'espère que ça aide quelqu'un.
la source