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 :

Question sur les tableaux avec en-têtes fixes et tri sur les colonnes


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut Question sur les tableaux avec en-têtes fixes et tri sur les colonnes
    Bonjour,

    J'utilise la technique des 2 tables + 1 div pour avoir mes en-têtes de colonnes figées et un ascenseur vertical.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <table id="tab1" width="910px">
     <tr>
      <td>Colonne1</td>
      <td>Colonne2</td>
     <tr>
    </table>
    <div style="width:940px; height:300px; overflow:auto;">
    <table id="tab2" width="910px">
     <tr>
      <td>Colonne1</td>
      <td>Colonne2</td>
     <tr>
    </table>
    </div>
    Le résultat est satisfaisant.

    Je souhaite ajouter un tri sur mes colonnes.
    J'ai récupéré un js qui fait ça très bien : sorttable.js (http://www.kryogenix.org/code/browse...le/#stablesort).

    Le problème est que ce script ne fonctionne pas en utilisant la technique présentée ci-dessus (avec les 2 <table>)

    J'ai bien trouvé une adaptation de ce script (http://www.wikistuce.info/doku.php/j...ableau_triable) mais il ne fonctionne pas très bien ...

    Je suis un peu dans l'impasse

    Si quelqu'un a une solution pour avoir un tableau avec en-têtes de colonnes fixes + tri je suis preneur

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    forcément il suffit de modifier le click pour que l'evènement du tableau d'entetes ait une action sur le tableau du corps ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Hello,
    renseigne-toi sur les balises <thead> et <tbody>, ça peut te donner des idées
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Oui, très perspicace ta réponse SpaceFrog

    D'ailleurs c'est ce que l'auteur du second script a tenté de faire ...
    Le problème est que j'ai très peu de temps pour me lancer dans l'adaptation du premier js ... maintenant si il n'y pas d'autres solutions.

    Mais plus généralement, vous faites comment pour créer ce genre de tableau (en-têtes fixes + tri sur colonnes) ?

    Merci

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    vu que le thead n'est pas géré correctement de façon crossbrowser, la solution des deux tableaux, ou l'emulation d'un header avec des div et les spans semble la meilleurs solution...
    j'ai d'ailleurs il y a quelques années déja posté sur le sujet ...

    http://www.developpez.net/forums/d16...ntete-tableau/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Nous sommes d'accord SpaceFrog et je suis satisfait de la solution des 2 tableaux + div pour émuler un header.

    Le problème est l'ajout du tri sur colonnes avec sorttable.js en utilisant cette technique ...

    J'ai l'impression que je vais devoir adapter ce script ...

    Pas d'autres solutions ?

    Merci.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut


    si quelqu'un sonnes chez ton voisin ...
    tu vas pas aller ouvrir ta porte...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Si je vais voir qui sonne chez ma voisine ... elle me le demande, elle est sous ma douche

    Parfois, il y a certains événements qui bousculent certains comportements ... comme quoi ^^

    Sinon je n'ai rien appris de neuf mais merci quand même

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Si je vais voir qui sonne chez ma voisine
    ce n'est pas ta voisine qui t'appelle ...
    avec ton tableau c'est pareil !
    c'est le header qui doit appeler les fonctions, c'est pas le corps qui va écouter ce qui se passe en haut.
    Donc en effet rien de nouveau sous le soleil
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ce n'est pas ta voisine qui t'appelle ...
    euh ... on est pas sur la même longueur d'onde

    Citation Envoyé par SpaceFrog Voir le message
    c'est le header qui doit appeler les fonctions, c'est pas le corps qui va écouter ce qui se passe en haut.
    Qui a dit le contraire ? mon problème (dsl d'employer ce terme ) est que le (très bon) script que j'ai récupéré (sorttable.js) ne fonctionne pas avec 2 tableaux (mon premier tableau est le header et le second le body) et que ça me fait suer de l'adapter pour deux raisons :

    1/ Je dois terminer rapidement le développement en question ;
    2/ Je ne pratique pas trop le js par manque de temps.

    Par conséquent, je demandais simplement s'il n'y avait pas d'autres solutions (que l'utilisation de deux tableaux) pour concevoir un tableau avec en-tête fixe + scrollbar ... Dans ce cas, je pourrais utiliser sorttable.js pour le tri des colonnes.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    vu que ton script js qui opère au tri est declenché par un click sur les entetes ... et que les solutions de mises en page ont été énumérées ci dessus...

    je pense que tu devrais pouvoir en conclure que :
    non il n'y a pas de methode crossbrowser pour fixer les entetes de colonne autres que les bidouilles avec soit deux tableaux soit une emulation d'enteêt de tableau avec des div span et autres
    et par conséquent c'est le click sur cette entete qui declenche le tri

    DONC pas d'autre possibilité que de modifier le script
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Tout à fait d'accord avec toi, il faut modifier ce script... allez je te laisse 1 heure SpaceFrog pour le faire

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    réglement avant expédition
    tarif 150,00 € de l'heure...
    je te file mes coordonnées bancaires ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    héhé
    ça ne sera pas la peine, j'ai adapté le script et ça a l'air de fonctionner

  15. #15
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    tu vois c'est pas si long
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Les tableaux avec MSHTML
    Par dad72 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/01/2010, 17h14
  2. Tableau avec en-tête fixe et largeurs de colonnes identiques
    Par arthuro45 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/08/2009, 10h34
  3. ScrollPane avec en-tête fixe
    Par S(ô.Ô)B dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 05/06/2009, 14h43
  4. Tri sur un intervalle avec la date du jour
    Par zoom61 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/08/2006, 11h10
  5. Réponses: 16
    Dernier message: 10/11/2005, 22h51

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