2010-12-08 49 views
2

J'ai une table dans laquelle je charge des données depuis un script PHP côté serveur qui retourne la table en JSON pour que jQuery dataTables soit rendu. J'utilise ensuite le plugin jQuery tableDnD pour permettre le repositionnement des tableaux par glisser-déposer, ceci nécessite que les lignes de la table contiennent l'identifiant correspondant à la ligne du tableau dans la base de données <tr id="1">Définir un ID sur les données jQuery à utiliser par le plugin TableDnD

Je me demande comment je peux atteindre ceci en utilisant des DataTables car cela ne me permet pas de le spécifier. Ma pensée actuelle est d'utiliser un rappel sur les données peut-être, ou de réécrire tableDnD pour lire la valeur d'id d'une colonne d'index, quelqu'un at-il des idées à ce sujet?

Répondre

4

Le rappel avéré être la réponse,

$('#dataTable').dataTable({ 
    ... 
     "aoColumns" : [ 
      { sWidth:'40px' }, 
      { sWidth:'40px',sClass:'position' }, 
      ... 
      { sWidth:'3px',sClass:'handle' } 
     ], 
      ... 
     "fnRowCallback": function(nRow, aData, iDisplayIndex) { 
      $(nRow).attr("id",aData[0]); 
      return nRow; 
     }, 

utilisant le fnRowCallback j'ai pu ajouter l'attribut id à la ligne de table, puis le charger avec l'identifiant qui a été le premier élément de données renvoyées aData[0]

J'ai trouvé que je peux utiliser le "aoColumns" pour charger à la fois la largeur et la 'position' des classes, et le 'handle' nécessaire pour ma tableDJD jQuery. Je pense que je devrais lire le manuel un peu plus la prochaine fois!

+0

Vous devriez accepter votre propre réponse, peut-être que cela aidera d'autres personnes dans le futur. – davidkonrad