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

WinDev Discussion :

Modifier l'ordre d'une liste d'agents [WD17]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 67
    Points : 47
    Points
    47
    Par défaut Modifier l'ordre d'une liste d'agents
    Bonjour à tous !

    Je possède une fichier de données dans lequel sont enregistrés les noms d'agents et un numéro correspondant à l’ordre dans lequel il doivent s'afficher dans une liste.
    Je voudrais pouvoir modifier l'ordre des agents dans la liste très simplement. En faisant descendre ou monter un agent et que ça modifie cette donnée dans la base de donnée. Soit en faisant un bouton monter et un bouton descendre, soit en les faisant bouger avec la souris mais je ne sais pas comment faire.
    Auriez-vous une idée à me soumettre ?

    Merci d'avance !

  2. #2
    Membre averti

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2010
    Messages : 125
    Points : 399
    Points
    399
    Par défaut
    Bonjour,

    Je ne sais pas où vous souhaitez aller, votre demande est vague, mais la solution consisterait à gérer une colonne numérique (clé) qui servirait d'ordre de classement (à gérer en fonction de boutons de déplacement par programmation)

    C'est une méthode qui demande un peu de codage mais efficace (tant qu'on ne gère pas des centaines de lignes!!)
    Erratum :
    J'avais mal lu votre demande, c'est effectivement comme ça qu'est construite votre BDD. Il vous faut donc gérer par programmation le numéro d'ordre.
    Vous pouvez passer par un tableau mémoire qui servira de tampon, dans lequel vous sauvegarder les changements de position, avant de sauvegarder dans votre bas. Cela sera plus perormant car le changeùment de numéro d'ordre peut imposer de faire un update sur quasiment toutes les lignes de votre table.
    Cordialement,

    Laurent

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 91
    Points : 136
    Points
    136
    Par défaut
    bonjour

    oui avec 2 boutons (monter et descendre) et une table fichier c'est assez simple :
    dans le principe par exemple pour le code de "monter" :
    lire l'enregistrement de l'agent sur lequel vous avez cliqué et copier l'ordre dans ORDRECOURANT puis modifier l'ordre , inscrire par exemple 0 ( ou un numéro d'ordre qui n'existera jamais en pratique )
    lire l'enregistrement précédent ( tester aussi s'il existe ) selon la clé ORDRE et copier l'ordre de cet enregistrement précédent dans ORDREPRECEDENT
    modifier l'ordre de cet enregistrement par ORDRECOURANT
    relire l'enregistrement avec ORDRE = 0 et modifier l'ordre avec ORDREPRECEDENT
    réafficher la table fichier

    bon dev.

  4. #4
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Regardes le fonction ListeDéplaceLigne() tu devrais y trouver ton bonheur...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  5. #5
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Citation Envoyé par laurent30s Voir le message
    Regardes le fonction ListeDéplaceLigne() tu devrais y trouver ton bonheur...
    La fonction ListeDéplaceLigne, déplace en fichier la ligne, si la liste est lié ?

    Si oui, par quel mécanisme, je ne vois aucun endroit dans les liaisons permettant d'indiquer le champ qui indique l'ordre et sur lequel on devrait répercuter le changement d'ordre.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 67
    Points : 47
    Points
    47
    Par défaut
    Merci pour vos conseils. Voici ce que j'ai fait et qui fonctionne parfaitement :
    J'ai créé un bouton Monter, un bouton Descendre et un bouton Valider avec le code suivant :
    MONTER
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableDéplaceLigne(TABLE_Agent,ligneSélectionnée,tdPrécédent,tdAfficheDestination)
    DESCENDRE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableDéplaceLigne(TABLE_Agent,ligneSélectionnée,tdSuivant,tdAfficheDestination)
    VALIDER
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    POUR TOUTE LIGNE DE TABLE_Agent
    	TABLE_Agent.COL_OrdreAgent = TABLE_Agent..Valeur
    	HLitRecherchePremier(Agent,IDAgent,COL_IDAgent)
    	Agent.OrdreAffichagePlanning = TABLE_Agent.COL_OrdreAgent
    	HModifie(Agent)
    FIN

  7. #7
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    J'avoue que cela est simple et que ça doit fonctionner, mais il vaut mieux ne pas avoir 20000 enregistrements De plus il faut adresser une prière qu'il n'y ai pas 2 personnes qui change l'ordre de la liste en même temps.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

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

Discussions similaires

  1. Modifier élément sélectionné d'une liste
    Par DevloNewb' dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/03/2007, 15h35
  2. modifier l'aspect d'une liste de liens
    Par lavazavio dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 16/03/2007, 12h12
  3. Réponses: 4
    Dernier message: 09/02/2007, 07h58
  4. Modifier la couleure d'une liste a choix (combo box)
    Par echantillon dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 03/02/2007, 22h13
  5. [Upload] Modifier le contenu d'une liste box automatiquemen
    Par Phenomenium dans le forum Langage
    Réponses: 7
    Dernier message: 16/01/2006, 21h42

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