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 :

Sorttable.js : Comment conserver la couleur des lignes paires


Sujet :

JavaScript

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Février 2008
    Messages : 77
    Par défaut Sorttable.js : Comment conserver la couleur des lignes paires
    Bonjour,

    J'utilise tableau.js http://falola.developpez.com/tutorie...dittable-v1-0/ et sorttable.js http://www.kryogenix.org/code/browser/sorttable/ pour afficher le résultat d'une requête ajax.
    Avec une petite modif de tableau.js, j'ajoute la class 'sortable' a la table et une class 'paire' au lignes paires pour leur attribuer une couleur.
    Jusque là tout va bien, mais lorsque l'on tri le tableau, le changement de couleur d'une ligne sur deux n' est plus respecté.

    L'un de vous aurait-il une solution pour retrouver après chaque tri une mise en couleur des lignes paires...
    Je suppose que la meilleur solution est sans doute de modifier sorttable.js pour qu'il supprime les anciennes class 'paires' avant d' ajouter les nouvelles mais cela dépasse mes compétences.

    Merci de m'aider un peu.

  2. #2
    Membre éprouvé Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Par défaut
    Si tu veux effectuer un traitement sur chaque de tes lignes, une row à une propriété "rowIndex".

    Peut être une piste pour savoir si celle ci est paire ou pas.


    DiDi

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Février 2008
    Messages : 77
    Par défaut
    Merci DiDi,

    En fait, mon probleme se situe dans le script sorttable.js.
    J'ai modifié makeSortable pour effacer mes class 'paire' en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if (table.rows[i].className.search(/\bpaire\b/) != -1) {
        table.rows[i].className = table.rows[i].className.replace('paire','');
    }
    Mais maintenant, il faut que je trouve à quel endroit (après le tri) je pourrais faire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (var i=0; i<table.rows.length; i++) {
        if ((i % 2) == 0) table.rows[i].className = 'paire';
    }
    Seulement, j'ai du mal à situer la fin du tri dans le script

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Ou éventuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (var i = 0, iMax = table.rows.length + 1; i < iMax; i = i + 2) {
        table.rows[i].className = 'paire';
    }
    Mais que veux-tu dire par :
    Citation Envoyé par hotline
    Seulement, j'ai du mal à situer la fin du tri dans le script
    ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Février 2008
    Messages : 77
    Par défaut
    Ca y est, j'ai trouvé !

    En fait, je savais à peu près quel code ajouter dans le script sorttable.js mais je ne savais pas trop à quel endroit le placer.

    Finalement, j'ai simplement ajouté ceci à la fonction appelée lors d'un clic sur l'entete d'une colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (var i=0; i<rows.length; i++) {
         if (((i-1) % 2) == 0) rows[i].className = 'paire';
         else rows[i].className = '';
    }
    Et ça marche

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut,
    Tu te serais moins embêté avec ce script puisque le tri se fait sur le contenu et non sur les lignes, il n'y avait donc rien à changer pour tes classes
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Février 2008
    Messages : 77
    Par défaut
    Merci Bovino, c'est trop tard pour cette fois, mais je me souviendrais de ton script

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/04/2007, 18h09
  2. Comment changer les couleurs des lignes avec displaytag
    Par rlnd23 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/10/2006, 13h52
  3. StringGrid : Couleur des lignes
    Par Caro dans le forum Composants VCL
    Réponses: 7
    Dernier message: 21/02/2006, 08h35
  4. [D7] comment ne pas modifier des lignes d'1 TStringGrid
    Par raoulmania dans le forum Composants VCL
    Réponses: 5
    Dernier message: 15/12/2005, 07h28
  5. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 18h15

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