J'utilise des tables de données et j'ai cet élément tr
dans table
<tr class="gradeA even row_selected" id="3692">
<td class=" sorting_1">3692</td>
<td class="">koza</td>
<td class="" title="10:12:30">2013-12-31</td>
<td class="">2014-02-06</td>
<td class="">FULL packet</td>
<td class="">NONE</td>
<td class="">Name</td>
</tr>
Je voudrais mettre à jour le 1er et le 4ème élément td
en utilisant la fonction fnUpdate
. J'ai essayé de mettre à jour pour seulement une td
mais elle ne se met pas à jour.
Dans Chrome, le journal de la console affiche l'erreur suivante:
Uncaught TypeError: impossible de définir la propriété '_aData' de non définie
Voici ce que j'ai essayé:
// dynamically update row
$('#example').dataTable().fnUpdate( ['Zebra'], parseInt('3692'));
3692
est l'id de l'élément td
pour savoir quelle ligne je dois mettre à jour, et zebra
est la valeur à modifier. Je sais que je n'ai pas inclus la cellule à mettre à jour mais je ne sais pas comment faire cela. Sur les API datatables, l'exemple suivant est donné:
oTable.fnUpdate( ['a', 'b', 'c', 'd', 'e'], 1 ); // Row
Veuillez consulter les documents ici http://datatables.net/api
Votre question n'est pas complète, car vous devez spécifier la colonne (td) que vous souhaitez modifier, mais voici ce que je voudrais essayer (en supposant que vous souhaitiez mettre à jour la deuxième colonne).
$('#example').dataTable().fnUpdate('Zebra' , $('tr#3692')[0], 1 );
Le deuxième paramètre sera la ligne et le troisième est la colonne.
Notez que je suis passé dans une chaîne.
Je préfère ça:
var myDataTable= $('#myDataTableId').DataTable();
var row = myDataTable.row( '#idRow');
myDataTable.cell(row, 2).data("New Text").draw();
Remarque:
2 est la colonne, la cellule à l'intérieur de la ligne modifiée.
Vous n'avez pas besoin de spécifier la colonne. Votre problème est que vous utilisez l'ID de ligne lorsque le document indique que le deuxième argument peut être l'index aoData ou l'élément.
Assurez-vous que votre nombre de colonnes est correct, mais vous devriez pouvoir le faire comme suit:
$('#example').dataTable().fnUpdate( ['Zebra'], $('#example tr#3692')[0]);