web-dev-qa-db-fra.com

dataTable fnUpdate ligne avec la nouvelle valeur

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
11
user2631534

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.

13
josephtikva1

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.

3
Dani

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]);
0
Calvin