IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fixer des colonnes d'un tableau dynamique renseigné par des données récupérées SGBD


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 262
    Par défaut Fixer des colonnes d'un tableau dynamique renseigné par des données récupérées SGBD
    Bonjour,

    j'aimerai fixer mes 2 premières colonnes et mes 3 dernières colonnes de mon tableau qui est renseigné par des données issues d'un SGBD (nbre de lignes variables)

    tentative 1 : j'arrive à scroller mon tableau mais pas à fixer mes colonnes (en css)

    tentative 2 : j'arrive à fixer mes colonnes via DATATABLES mais uniquement avec des données statiques. Lorsque j'essaye d'insérer des données issues de mon foreach je n'y arrive pas.

    je vous laisse mon code allégé


    Form.php
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    ...
     
     <!--  JS DATATABLES  -->
      <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
      <script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
      <script src="https://cdn.datatables.net/fixedcolumns/3.2.6/js/dataTables.fixedColumns.min.js"></script>
     
     
    <!--  CSS DATATABLES  -->
     <link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
     <link rel="stylesheet" href="https://cdn.datatables.net/fixedcolumns/3.2.6/css/fixedColumns.dataTables.min.css">
     
     
     
    <table id="example" class="stripe row-border order-column" style="width:100%" >
     
     <thead>
     
      <tr>
       <th>NOM</th>
       <th>PRENOM</th>
       <th class="departement hide">DEPARTEMENT</th>
       <th>CAT.</th>
       <th>TAILLE</th>
       <th>MAIL</th>
       <th><input id="all" type="checkbox" onclick="clearCB('select_checkbox')"/></th>
       <th></th>
      </tr>
     
     </thead>
     
     
     <tbody>
     
      <?php 
      $i=0;
     
      foreach ($contacts as $contact)       {
     
       echo '<tr class="ligne'.($i % 2).'">';
        echo( "<td>".Secur::screen($contact->getNom())."</td>" );
        echo( "<td>".Secur::screen($contact->getPrenom())."</td>" );
        echo( "<td class='departement hide'>".Secur::screen($contactManager->getNomDepartement($contact->getDepartement()))."</td>" );
        echo( "<td>".Secur::screen($contact->getCategorie())."</td>" );
        echo( "<td>".Secur::screen($contact->getTaille())."</td>" );
        echo( "<td>".Secur::screen($contact->getEmail())."</td>" );
        echo '<td> <input type="checkbox" class="select_checkbox" name="mails_checked[]" id="mails_checked" value="'.Secur::screen($contact->getEmail()).'"/> </td>';   
        echo '<td> <a href="../VIEW/Form_Update_Registration.php?id='.Secur::screen($contact->getId()).' "> MODIFIER </a>  </td>';  
       echo( "</tr>" );
     
      $i++; 
      }
      ?>    
     
     </tbody>                
     
    </table>


    Datatables.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    /* FIXE LES COLONNES DROITES ET GAUCHES D'UN TABLEAU */
    $(document).ready(function() {
     
     //console.log('test); 
     
     var table = $('#example').DataTable( {
      scrollY:        "150px",  /* hauteur du tableau */
      scrollX:        true,
      scrollCollapse: true,
      paging:         true,
      fixedColumns:   {
       leftColumns: 2,
       rightColumns: 1
      }
     } );
    } );
    Style.css
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     th, td {
      white-space: nowrap; 
     }
     
     div.dataTables_wrapper {
      width: 800px;
      margin: 0 auto;
     }



    Je pense que l'on peut insérer des données php à l'intérieur du tableau?? Avez-vous une suggestion car DATATABLES semble super !!


    VOILA CE QUE M'AFFICHE LA CONSOLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    jquery-3.3.1.js:3827 Uncaught TypeError: Cannot read property 'mData' of undefined
        at HTMLTableCellElement.<anonymous> (jquery.dataTables.min.js:90)
        at Function.each (jquery-3.3.1.js:354)
        at jQuery.fn.init.each (jquery-3.3.1.js:189)
        at HTMLTableElement.<anonymous> (jquery.dataTables.min.js:90)
        at Function.each (jquery-3.3.1.js:354)
        at jQuery.fn.init.each (jquery-3.3.1.js:189)
        at jQuery.fn.init.n [as dataTable] (jquery.dataTables.min.js:83)
        at jQuery.fn.init.h.fn.DataTable (jquery.dataTables.min.js:165)
        at HTMLDocument.<anonymous> (Datatables.js:8)
        at mightThrow (jquery-3.3.1.js:3534)
    Je comprends qu'il ne doit pas trouver les données mais comment s'y prendre

    Merci pour votre aide précieuse et suggestion

    Bonnes années à vous

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 262
    Par défaut
    OK il me manquait une entete ....

    Tout fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle javascript et largeur des colonnes d'un tableau dynamique
    Par jpe54 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/01/2014, 17h00
  2. Réponses: 5
    Dernier message: 31/05/2011, 12h21
  3. Réponses: 2
    Dernier message: 04/11/2010, 17h42
  4. Fixer la largeur des colonnes d'un tableau
    Par CYCLOPE91440 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/01/2007, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo