Datatables avertissement(table id = "exemple"): ne peut pas réinitialiser les données de la table
Je suis en train de travailler avec les tables de données exemple et obtenir une erreur, comme cela lors du chargement de la page:
Datatables avertissement(table id = "exemple"): ne peut pas réinitialiser les données de la table.
Pour récupérer les tables de données de l'objet de cette table, ne transmettez pas d'arguments ou de voir les docs pour bRetrieve et la détruise.
J'étais en train de tester la fnRowCallback
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>DataTables live example</title>
<script type="text/javascript" charset="utf-8" src="DataTables/media/js/jquery.js"></script>
<script class="jsbin" src="http://datatables.net/download/build/jquery.dataTables.nightly.js"></script>
<style type="text/css">
@import "DataTables/media/css/demo_table.css";
</style>
</head>
<body id="dt_example">
<script>
$(document).ready(function() {
$('#example').dataTable();
} );
$(document).ready( function() {
$('#example').dataTable( {
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
//Bold the grade for all 'A' grade browsers
if ( aData[4] == "A" )
{
$('td:eq(4)', nRow).html( '<b>A</b>' );
}
}
} );
} );
</script>
<div id="container">
<h1>Live example</h1>
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
<tr>
<th>Rendering engine</th>
<th>Browser</th>
<th>Platform(s)</th>
<th>Engine version</th>
<th>CSS grade</th>
</tr>
</thead>
<tbody>
<tr class="odd gradeX">
<td>Trident</td>
<td>Internet Explorer 4.0</td>
<td>Win 95+</td>
<td class="center"> 4</td>
<td class="center">X</td>
</tr>
<tr class="even gradeC">
<td>Trident</td>
<td>Internet Explorer 5.0</td>
<td>Win 95+</td>
<td class="center">5</td>
<td class="center">C</td>
</tr>
<tr class="odd gradeA">
<td>Trident</td>
<td>Internet Explorer 5.5</td>
<td>Win 95+</td>
<td class="center">5.5</td>
<td class="center">A</td>
</tr>
<tr class="even gradeA">
<td>Trident</td>
<td>Internet Explorer 6</td>
<td>Win 98+</td>
<td class="center">6</td>
<td class="center">A</td>
</tr>
<tr class="odd gradeA">
<td>Trident</td>
<td>Internet Explorer 7</td>
<td>Win XP SP2+</td>
<td class="center">7</td>
<td class="center">A</td>
</tr>
<tr class="even gradeA">
<td>Trident</td>
<td>AOL browser (AOL desktop)</td>
<td>Win XP</td>
<td class="center">6</td>
<td class="center">A</td>
</tr>
<tr class="gradeA">
<td>Gecko</td>
<td>Firefox 1.0</td>
<td>Win 98+ /OSX.2+</td>
<td class="center">1.7</td>
<td class="center">A</td>
</tr>
<tr class="gradeA">
<td>Gecko</td>
<td>Firefox 1.5</td>
<td>Win 98+ /OSX.2+</td>
<td class="center">1.8</td>
<td class="center">A</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Rendering engine</th>
<th>Browser</th>
<th>Platform(s)</th>
<th>Engine version</th>
<th>CSS grade</th>
</tr>
</tfoot>
</table>
</div>
</body>
</html>
Ce que je fais mal en cela?
Vous devez vous connecter pour publier un commentaire.
Vous initialisation des tables de données deux fois, pourquoi?
Essayez d'ajouter "détruise": true pour les options littéral d'objet, par exemple
Source: iodocs.com
ou Supprimer le premier:
Dans votre cas est la meilleure option vjk.
Vous pouvez également détruire l'ancien
datatable
en utilisant le code suivant avant la création de la nouvelledatatable
:Vous pouvez ajouter
destroy:true
à la configuration assurez-vous que la table de données déjà présente est retiré avant d'être réinitialisé.Ajouter "détruise": true dans votre dataTable Comme:-
Il Va Travailler.
Ce problème se produit si nous initialisons dataTable plus d'une fois.Ensuite, nous avons supprimer le précédent.
D'autre part, on peut détruire l'ancien datatable de cette façon aussi, avant de créer le nouveau datatable utiliser le code suivant :
Il y a un autre scénario ,que vous envoyez plus d'une requête ajax qui la réponse de l'accès d'une même table dans le même modèle, puis nous aurons d'erreur aussi.Dans ce cas fnDestroy méthode ne fonctionne pas correctement parce que vous ne connaissez pas la réponse vient en premier, ou plus tard.Ensuite, vous devez définir
bRetrieve TRUE
dans les données de configuration de la table.C'est tout.C'est Mon senario:
En faire une classe de sorte que vous pouvez instancier plusieurs tables à la fois
Supprimer le premier:
Vous devez détruire le datatable et vider le corps de table avant de liaison DataTable en faisant cela, ci-dessous,
Dans mon cas, l'appel ajax était perturbé par les données-plugin tag appliquée à la table. Les données plugin ne initialisation en arrière-plan et de donner ce message d'erreur lorsque vous en avez ainsi que yourTable.DataTable({ ... }); initialisation.
De
À
Regarder pendant une longue ligne dans votre code lorsque vous créez la table qui donne l'impression d'être
puis ajoutez les lignes suivantes à la ligne ci-dessus pour modifier les options dans la boîte de sélection
ou ajouter ce qui est ci-dessous pour modifier l'option sélectionnée dans la boîte de sélection (assurez-vous qu'il correspond à une valeur au départ, ou si vous avez ajouté la ligne ci-dessus, qu'il correspond à l'un des numéros en elle.
le résultat final avec les deux options ci-dessus ajouté ressemble à ça quand avec code initial, j'ai collé de la première ci-dessus:
Dans mon cas
De
À
Résolu mon problème