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

jQuery Discussion :

jQueriUI sortable-> Faire de toute une colonne le placeholder [UI]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut jQueriUI sortable-> Faire de toute une colonne le placeholder
    Bonjour,

    j'ai besoin de pouvoir réorganiser les colonnes d'un tableau en glissant-déposant les cellules d'en-tête du tableau (pas les cellules de données). Jusque là, tout va bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $( ".tablex thead tr" ).sortable({
        containment: "parent",
        placeholder: "placeholder",
        helper: 'clone',
        axis: 'x',
        appendTo: '.tablex thead',
        start: function(e, ui) {ui.helper.hide();}
    });
    Le seul problème c'est que je ne peux voir bouger pendant le déplacement que le placeholder de l'entête du tableau. Pas toute la colonne. Rien de surprenant, c'est le comportement par défaut de sortable.
    Mais j'aimerais que le placeholder soit TOUTE la colonne (ou autre solution pour un même résultat). Cela n'est pas documenté et je n'ai trouvé aucune discussion sur le net à ce sujet.

    Y-a-til un moyen d'y parvenir?

    J'ai bien tenté ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $( ".tablex thead tr" ).sortable({
        containment: ".tablex",
        placeholder: "placeholder",
        helper: 'clone',
        appendTo: '.tablex',
        start: function(e, ui) {
            ui.helper.hide();
            ui.placeholder.html('...recréer entièrement la colonne en html...');
        }
    });
    Mais alors, si j'ai bien une colonne comme placeholder, elle est visuellement confinée à l'intérieur de la cellule d'en-tête que je bouge. Pas moyen de faire en sorte que la colonne s'affiche parmi les autres colonnes du tableau.

    De l'aide serait apprécié.

    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    Il te faut un script js nommé sorttable.js (avec deux "t"), plus le sortable de jquery-ui.
    Regarde cette page, plus précisément les exemples 4,6 et 7 correspondent à ce que tu cherches à faire.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut
    Merci, ça a l'air d'être exactement ce qu'il me faut.
    j'ai essayé et ça fait bien ce que je veux sauf que le placeholder de la colonne de data se tape en fin de tableau et ne bouge pas. Vu que ça fonctionne sur les exemples, je suppose que j'arriverai bien à le faire fonctionner chez moi. Je ne mets pas encore comme résolu mais le ferai dès que ça marche.
    Merci beaucoup pour le tuyau!

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut
    J'ai trouvé la source du problème.

    Dans l'exemple donné, l'auteur n'utilise pas les tag "<thead>" et mets les "<th>" directement dans le "<tbody>".
    Sans cela, ça ne fonctionne pas (j'ai essayé sur son propre exemple) et donne le problème que j'ai: le placeholder de la colonne est déplacé en fin de tableau et y reste figé.
    le problème c'est que j'utilise Datatables et ce dernier impose les theads dans les tableaux qu'il génère...
    Donc même si c'est génial comme trouvaille (merci), ça ne règle pas mon problème.
    A moins de savoir comment modifier le script de sorttable mais il n'est pas simple à comprendre pour moi.
    Bref, c'était trop beau.

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    Une autre source utile., ils existent plusieurs plugins qui font ça, il faut juste chercher aux bons endroits.

    Un exemple sur jsfiddle.

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut
    Merci pour ton aide. Celui-là non plus ne fonctionne pas (je l'avais déjà essayé).
    En fait, j'en ai essayé une flopée avant de venir poser ma question. Ca fait des jours que je cherche.
    Celui que tu as proposé en premier, je ne suis juste jamais tombé dessus (ce qui m'a surpris).
    Mais tous les autres que j'ai essayé (et j'ai vraiment l'impression d'avoir fait le tour) sont en conflit avec dataTables.
    Le dernier lien par exemple: il fonctionne mais il désactive l'accès aux tris de colonnes de dataTables, parce qu'il est exécuté au mousedown (et non au drag) alors que l'autre action l'est aussi. Il y a donc conflit.

    En tous cas merci beaucoup pour ton aide.

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

Discussions similaires

  1. Comment faire pour choisir une colonne d'un dataGrid?
    Par loic20h28 dans le forum Windows Forms
    Réponses: 50
    Dernier message: 06/08/2008, 20h32
  2. formule pour tout une colonne
    Par Jeff.p18 dans le forum Excel
    Réponses: 3
    Dernier message: 10/01/2008, 13h58
  3. Incrémenter toute une colonne
    Par hochimi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/07/2007, 16h56
  4. concaténer sur toute une colonne
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/12/2006, 14h20
  5. UPADTE de toute une colonne
    Par jexl dans le forum ASP
    Réponses: 2
    Dernier message: 14/12/2004, 12h11

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