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

ASP.NET Discussion :

Rafraichir une ListBox


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Par défaut Rafraichir une ListBox
    Bonjour,

    Je construis actuellement une page avec plusieurs ListBox. Il y en a 3 pour être précis. Quand je séléctionne un élément dans le 1er, j'ai fais une fonction qui mets à jour un label, et mets à jour les deux autres ListBox.
    Le label se met bien à jour, mais mes ListBox se mettent elles à jours uniquement si j'ajoute un élément dans celle-ci et pas si j'en supprime un.
    J'ai vérifié en debug, à la fin de la fonction de mon event il ne reste bien dans les items de ma ListBox que les éléments que je veux afficher. Pourtant au rendu graphique, j'ai toujours les éléments que j'ai supprimé.

    Que dois je faire?

    Merci

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu fais ça comment? Via du javascript? Un PostBack?

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Tu supprime juste un élement , tous court?

    je pense plutôt qu'il faut que tu la rebind.

  4. #4
    Membre averti
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Par défaut
    Actuellement je fais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    lbxGroupe.Items.Clear();
    lbxGroupe.Items.AddRange(liste_roles);
    foreach (ListItem lstGr in liste_role_user)
    {
          lbxGroupe.Items.Remove(lstGr.Text);
    }
    Cette action est effectuée dans un event que je lance quand une autre ListBox fait un autopostback. Le reste des controles se rafraichissent bien et dans mes items les suppressions sont bien effectuée mais dans le rendu graphique, j'ai rien.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    La comme ca je séche un peu. Peut être faudrait t'il plus de code.

    j'ai testé rapidement ceci sans probleme:


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                for( int i = 0; i <6 ; i++)
                {
                ListItem item = new ListItem("toto"+i, "1"+i);
                ListItem item2 = new ListItem("titi" + i, "1" + i);
                dd.Items.Add(item);
                DropDownList1.Items.Add(item2);
                }
            }
        }
     
     
        protected void dd_SelectedIndexChanged(object sender, EventArgs e)
        {
    //J'ai essayé de faire aussi ressemblant que ta methode mais le clear et le
    //add ne servent a rien le remove seul suffit si tes donnée sont les mêmes
    //que en entrée.
            DropDownList1.Items.Clear();
            for (int i = 0; i < 6; i++)
            {
                ListItem item2 = new ListItem("titi" + i, "1" + i);
                DropDownList1.Items.Add(item2);
            }
            ListItem item3 = new ListItem("titi" + 3, "1" + 3);
            DropDownList1.Items.Remove(item3);
        }
    Dans le PageLoad comment alimente tu ta DropDoown?

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu fais pas un DataBind de tes listes dans le OnLoad au moins?

  7. #7
    Membre averti
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Par défaut
    Voici le code de mes fonctions le clear et le add servent à être sur que j'ai les dernières données dans mon vecteur sachant que mes données ne proviennent pas d'une base de données.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    protected void Page_Load(object sender, EventArgs e)
        {
     
            //Ajout des utilisateurs à la listBox
            string[] tab_str_user = gest_users.getAllUsersName();
            ListItem[] liste_utilisateur = new ListItem[tab_str_user.Length];
            liste_utilisateur.Initialize();
     
     
            for (int i = 0; i < tab_str_user.Length; i++)
            {            
                liste_utilisateur[i] = new ListItem(tab_str_user[i],tab_str_user[i]);
     
            }
            lbxUser.Items.Clear();
            lbxUser.Items.AddRange(liste_utilisateur);
     
            //Ajout des groupes à la listeBox
            string[] tab_str_roles = gest_users.getAllRoles();
            ListItem[] liste_roles = new ListItem[tab_str_roles.Length];
            liste_roles.Initialize();
     
            for (int i = 0; i < tab_str_roles.Length; i++)
            {
                liste_roles[i] = new ListItem(tab_str_roles[i],tab_str_roles[i]);
            }
            lbxGroupe.Items.Clear();
            lbxGroupe.Items.AddRange(liste_roles);
     
     
     
        }
     
        protected void lbxUser_SelectedIndexChanged(object sender, EventArgs e)
        {
            lblUserName.Text = lbxUser.SelectedValue;
     
            string[] tab_str_user_role = gest_users.getAllUserRole(lbxUser.SelectedValue.ToString());
            ListItem[] liste_role_user = new ListItem[tab_str_user_role.Length];
            liste_role_user.Initialize();
     
            for (int i = 0; i < tab_str_user_role.Length; i++)
            {
                liste_role_user[i] = new ListItem(tab_str_user_role[i],tab_str_user_role[i]);
            }
     
            lbxGroupeUtilisateur.Items.Clear();
            lbxGroupeUtilisateur.Items.AddRange(liste_role_user);
     
            //mises à jour de la liste des groupes pouvant encore être ajouté
            lbxGroupe.Items.Clear();
            //Ajout des groupes à la listeBox
            string[] tab_str_roles = gest_users.getAllRoles();
            ListItem[] liste_roles = new ListItem[tab_str_roles.Length];
            liste_roles.Initialize();
     
            for (int i = 0; i < tab_str_roles.Length; i++)
            {
                liste_roles[i] = new ListItem(tab_str_roles[i], tab_str_roles[i]);
            }
            lbxGroupe.Items.Clear();
            lbxGroupe.Items.AddRange(liste_roles);
     
            foreach (ListItem lstGr in liste_role_user)
            {
                lbxGroupe.Items.Remove(lstGr.Text);
            }
     
     
     
        }

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

Discussions similaires

  1. [PowerShell] Rafraichir une listbox
    Par julie75 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 30/07/2011, 00h13
  2. [NSIS] Comment rafraichir une listBox ?
    Par maanifiik dans le forum Windows
    Réponses: 7
    Dernier message: 08/04/2010, 18h01
  3. Rafraichir une ListBox
    Par sissi00000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2008, 17h30
  4. rafraichir une listbox
    Par yedid dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/08/2007, 11h21
  5. Réponses: 6
    Dernier message: 02/06/2006, 11h44

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