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 :

Repopuler une DropDownList


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2007
    Messages : 24
    Par défaut Repopuler une DropDownList
    Hello à tous,

    j'espère que vous pourrez m'aider car là je commence à me tirer les cheveux...

    je travail sur un intranet qui a un moment donné rempli une ddl avec des utilisateurs (nom + prénom uniquement) depuis l'Active Directory. Pour faciliter la sélection j'ai ajouté un champ texte pour filtrer les utilisateurs.

    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
     
            protected void btnFiltreDirectory_Click(object sender, EventArgs e)
            {
                //si aucun texte, on recharge par défaut
                if (txtDirectory.Text == "")
                {
                    loadUsers();
                    return;
                }
     
                //copie de la ddl
                DropDownList list = lstDirectory;
     
                //suppression des valeurs
                lstDirectory.Items.Clear();
     
                for (int i = 0; i < list.Items.Count; i++)
                {
                    if (list.Items[i].Text.Contains(txtDirectory.Text))
                        lstDirectory.Items.Add("Helder Ribeiro");
                }
     
            }
    loadUsers(); est ma méthode qui rempli la ddl au chargement, elle est appelé dans le Page_Load dans une condition if(!IsPostBack).

    L'utilisateur souhaite avoir la possibilité de saisir partiellement les noms d'ou la non utilisation de la méthode .FindByText()

    Lors de mes test sur l'utilisateur Helder RIBEIRO (filtré par exemple avec "Helder" ou "RIBEIRO" ou "Held"...) je le trouve et quand je suis en débugg j'ai bel et bien "Helder Ribeiro" dans mon lstDirectory après ma boucle for. mais coté navigateur ma ddl est vide.

    Vos suggestions seront les bienvenues

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2007
    Messages : 24
    Par défaut
    Bon ben

    j'ai trouvé une solution même si elle ne me satisfait pas entièrement, voici le nouveau 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
            protected void btnFiltreDirectory_Click(object sender, EventArgs e)
            {
                //si aucun texte, on recharge par défaut
                if (txtDirectory.Text == "")
                {
                    loadUsers();
                    return;
                }
     
                //copie de la ddl
                DropDownList list = new DropDownList();
     
                for (int i = 0; i < lstDirectory.Items.Count; i++)
                {
                    if (lstDirectory.Items[i].Text.Contains(txtDirectory.Text))
                        list.Items.Add("Helder Ribeiro");
                }
     
                lstDirectory.Items.Clear();
     
                for (int i = 0; i < list.Items.Count; i++)
                {
                    lstDirectory.Items.Add(list.Items[i].Text);
                }
            }
    en refaisant une boucle sur les Item récupérés ça passe mais lorsque je tente de lui passer directement tout l'objet ça passe pas. Je trouve ça plutôt bizarre surtout que l'objet avait préalablement été vidé avant de le réaffecter...

    je vais le mettre en résolu mais si qqun a une autre réponse c'est volontiers

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

Discussions similaires

  1. [VB.NET] Comment vider une DropDownList
    Par Dnx dans le forum ASP.NET
    Réponses: 6
    Dernier message: 04/03/2005, 10h13
  2. [WebForms][Javascript] Une DropDownList qui disparait....
    Par prem's dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 02/03/2005, 10h50
  3. Réponses: 5
    Dernier message: 08/02/2005, 13h05
  4. Afficher une dropdownlist lors de modif dans une DataGrid
    Par MiJack dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/11/2004, 17h42

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