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 :

Supprimer une ligne de combo box [WD17]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut Supprimer une ligne de combo box
    Bonjour,
    je suis débutante dans le domaine de la programmation WinDev, j'ai créé un combo box qui est relié à une table, et deux boutons ajout et supprimer, et j'ai trouvé des problèmes:
    -la suppression se fait une seule fois, quand je fais un clic pour la 2ème fois sur le bouton rien ne se passe.
    -la liste contient 2 champs vides au début.
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI OuiNon(0,"Etes-vous sûr de vouloir supprimer cette catégorie?")=Vrai ALORS
    	HSupprime(categ)
    	ListeSupprime(COMBO_categorie)
    	ListeAffiche(COMBO_categorie,taDébut)
     
    FIN

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 24
    Points : 30
    Points
    30
    Par défaut
    Salut tun_01,

    Si tu ne passes pas l'identifiant de la liste a supprimer (deuxième paramètre) à ta fonction ListeSupprime() celle-ci te supprime ton élément en cours..

    Ton problème vient peut-être de là.
    Sur le deuxième clic du bouton de suppression il doit perdre ton élément en cours.

    Essaye quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    x est un entier = 0
    POUR TOUTE LIGNE SELECTIONNEE DE COMBO_categorie
            x++
    	ListeSupprime(COMBO_categorie,x)
    FIN
    Ou bien comme dans la doc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Indice est un entier
    POUR Indice = ListeOccurrence(ListeClient) à 1 PAS -1
       ListeSupprime(ListeClient, Indice)
    FIN
    Tu peux également essayer de rajouter à la fin de ton code de suppression:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListeSelectPlus(COMBO_categorie,x)
    De façon a ce que la première ligne soit toujours sélectionnée.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup Akryen c'est résolu concernant la suppression

    il me reste e problème des lignes vides au début de la combo, t'as une idée?
    voilà mon code d'ajout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    HRAZ(categ)
    EcranVersFichier()
     
    // S'il s'agit d'un nouvel enregistrement
    SI categ..NouvelEnregistrement = Vrai ALORS
    	// On l'ajoute
    	HAjoute(categ)
    	SI HErreurDoublon() = Vrai ALORS
    		Erreur("Ce nom existe déjà")
    	FIN
    	ListeAffiche(FEN_Gestion_Stock.COMBO_categorie,taDébut)
    	HModifie(categ)

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 24
    Points : 30
    Points
    30
    Par défaut
    Salut,

    Vérifie que dans ton fichier "categ" tu n'es pas d'enregistrement vide.
    Si ce n'est pas le cas ça vient probablement de ton code.

    Je n'utilise pas HyperFile ainsi que les fonctions comme HAjoute(), HModifie() etc..
    Je ne serai surement pas d'une grande aide sur ces points-là.

    Tu remplis ta combo comment avec une requête intégrée à celle-ci ?
    Ou bien avec un bout de code où tu parcours ta table pour la remplir ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    Merci pour votre réponse,
    bon j'ai créé un libellé cat=HNbEnr(categ) elle renvoi le nombre 6 alors j'ai 5 enregisrement et 2 lignes vides
    j'ai rempli mon combo à partir d'une liaison avec un fichier (categ) qui est rempli avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    HRAZ(categ)
    EcranVersFichier()
     
    // S'il s'agit d'un nouvel enregistrement
    SI categ..NouvelEnregistrement = Vrai ALORS
    	// On l'ajoute
    	HAjoute(categ)
    	SI HErreurDoublon() = Vrai ALORS
    		Erreur("Ce nom existe déjà")
    	FIN
    	ListeAffiche(FEN_Gestion_Stock.COMBO_categorie,taDébut)
    	HModifie(categ)
     
    	FIN

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 24
    Points : 30
    Points
    30
    Par défaut
    Je n'utilise pas non plus les combos avec requête intégrée, mais il me semble que la combo doit se remplir toute seule.

    Normalement tu dois initialiser ta combo par rapport à ta table pourquoi testes-tu à cet endroit si tu as de nouvelle entrée dans ta table ?
    Pour moi ça c'est le code du bouton ajouter, et je ne vois pas l'utilité de la ligne si categ..NouvelEnregistrement = Vrai dans ton code.

    Ce que je ferai (sans requête lié à ta combo):

    - L'initialisation de ta combo par rapport à ta table tu créé une procédure que tu va appeler dans l'init de ta combo et a chaque modification de ta table categ.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PROCEDURE pl_init_Liste_categ()
     
    ListeSupprimeTout(categ)
    SI HlitPremier(categ) = vrai ALORS
      TANT QUE HTrouve(categ)
          ListeAjoute(categ.libelle+glien(categ.id) // Exemple..
          HlitSuivant(categ)
       FIN
    FIN
    HFerme(categ)

    - Ton bouton d'ajout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    categ.Libelle = sai_libelle
    hAjoute(categ)
    HRAZ(categ)
    pl_init_Liste_categ()
    - Ton bouton de suppression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    POUR TOUTE LIGNE SELECTIONNEE DE COMBO_categorie
    	hSupprime(categ,COMBO_categorie..valeurMemorisee)
    FIN
    pl_init_Liste_categ()
    Au moins tu te bases uniquement sur ta table categ et tu es sûre que ta combo COMBO_categorie est le reflet de ta table.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 61
    Points : 21
    Points
    21
    Par défaut
    Grannnd Akryen c'est bien

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

Discussions similaires

  1. Supprimer une ligne d'une combo
    Par nicolas_isi dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 08/07/2010, 00h15
  2. [JTable] Supprimer une ligne d'un jtable
    Par Orionmel dans le forum Composants
    Réponses: 5
    Dernier message: 05/11/2004, 22h29
  3. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03
  4. supprimer une ligne avec cle etrangere
    Par BaBas dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/07/2003, 11h24
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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