1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Monter/descendre ligne dans un fichier

Discussion dans 'Windev' créé par Germano, Oct 4, 2022.

  1. Germano

    Germano Member

    Inscrit:
    Nov 25, 2021
    Messages:
    82
    J'aime reçus:
    12
    Bonjour,

    je souhaite gérer un ordre dans mes lignes de fichier.
    avez vous une procédure toute simple ?

    j'ai fait cela pour monter ma ligne dans ma table mais apres je bloque pour l'enregistrement .
    ind_table est un entier
    // si aucune n'est sélectionnée
    SI TableSelect(Tb_CFG_SONDE_PARAM) = -1 ALORS
    RETOUR
    FIN

    ind_table = TableSelect(Tb_CFG_SONDE_PARAM)

    TableDéplaceLigne(Tb_CFG_SONDE_PARAM,ligneSélectionnée,tdPrécédent,tdEchange)
     
    Tags:
  2. Gemini1961

    Gemini1961 Well-Known Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 2, 2018
    Messages:
    578
    J'aime reçus:
    867
    Bonjour Germano
    L'ordre dans ce fichier est-il toujours le même ?
    Voudrais-tu nous décrire cet ordre ?
    Il y a aussi la possibilité d'utiliser la fonction :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bien cordialement
     
  3. Germano

    Germano Member

    Inscrit:
    Nov 25, 2021
    Messages:
    82
    J'aime reçus:
    12
    Bonjour Gemini,

    pour faire simple, je suis en train de réaliser un configurateur .
    grâce au champ clone, je duplique mes champs en fonction du nombre de mes paramètres présent dans mon fichier ( rempli par la partie Dev)

    Je souhaite que l'utilisateur final puisse modifier l'ordre d'affichage et qu'il se conserve.
    donc dans mon fichier j'ai créé une clé "Num_Ordre" (1.2.3.4.5.6 etc...)

    comme ça quand je vais créer mes champs (champclone) je vais lire l'ordre en 1er et ensuite le nom de mes options.

    voir PJ. exemple:je souhaite deplacer ma ligne 7 en 1er et que le 1er devienne 7.
     

    Fichiers attachés:

  4. Germano

    Germano Member

    Inscrit:
    Nov 25, 2021
    Messages:
    82
    J'aime reçus:
    12
    SI TableSelect(Tb_CFG_SONDE_PARAM) <> 1 ALORS
    ind_table = TableSelect(Tb_CFG_SONDE_PARAM) - 1
    Tb_CFG_SONDE_PARAM[TableSelect(Tb_CFG_SONDE_PARAM)] <=> Tb_CFG_SONDE_PARAM[ind_table]
    TableSelectMoins(Tb_CFG_SONDE_PARAM)
    TableSelectPlus(Tb_CFG_SONDE_PARAM,ind_table)
    FIN

    maj_ordre_ param:

    POUR i = 1 _À_ TableOccurrence(Tb_CFG_SONDE_PARAM)
    SI PAS HLitRecherche(CFG_SONDE_PARAM,IDCFG_SONDE_PARAM,ID_Option,hIdentique) ALORS
    Erreur("impossible de lire le paramètre !!!")
    FinProgramme(Vrai)
    FIN
    SI CFG_SONDE_PARAM.num_ordre <> i ALORS
    CFG_SONDE_PARAM.num_ordre = i
    HModifie(CFG_SONDE_PARAM)
    SI HErreurDoublon() _OU_ HErreurIntégrité() ALORS
    Erreur(HErreurInfo())
    FinProgramme(Vrai)
    FIN
    col_Ordre = i
    FIN
    FIN
     
  5. Gemini1961

    Gemini1961 Well-Known Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 2, 2018
    Messages:
    578
    J'aime reçus:
    867
    Bonjour Germano

    Désolé pour le retard de ma réponse, j'ai actuellement quelques soucis de santé :-(
    Développer et suivre le forum me permet de penser à autre chose :))

    J'aurais tendance à utiliser la fonction

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    via une petite popup
    chaque utilisateur pourrait choisir son ordre d'affichage, je ne sais pas si l'ordre est mémorisé sur le pc, sinon une petite sauvegarde dans un fichier ini sur le pc + les traitements ad hoc ...

    Bien cordialement
     
    WX1331 apprécie ceci.

Partager cette page

Chargement...