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 :

ListBox et DropDownList


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 73
    Par défaut ListBox et DropDownList
    Bonjour.
    Dans le fichier .aspx, je dispose d'une zone de liste (ListBox) et d'une liste déroulante (DropDownList).
    La zone de liste contient 6 éléments (ListItem).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <asp:ListBox ID="ListBoxOne" runat="server" AutoPostBack="True" onselectedindexchanged="ListBoxOne_SelectedIndexChanged">
    <asp:ListItem>A</asp:ListItem>
    <asp:ListItem>B</asp:ListItem>
    <asp:ListItem>C</asp:ListItem>
    <asp:ListItem>D</asp:ListItem>
    <asp:ListItem>E</asp:ListItem>
    <asp:ListItem>F</asp:ListItem>
    </asp:ListBox>
    La liste déroulante contient 36 éléments (ListItem).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <asp:DropDownList ID="DropDownListOne" runat="server" onselectedindexchanged="DropDownListOne_SelectedIndexChanged">
    <asp:ListItem>1</asp:ListItem>
    <asp:ListItem>2</asp:ListItem>
    <asp:ListItem>3</asp:ListItem>
    	Etc...
    <asp:ListItem>34</asp:ListItem>
    <asp:ListItem>35</asp:ListItem>
    <asp:ListItem>36</asp:ListItem>
    </asp:DropDownList>
    Lorsqu'on clique sur un des 6 éléments (A, B, C, D, E ou F) de la zone de liste, la liste déroulante ne doit afficher que certains éléments parmi les 36 disponibles.
    Par exemple, si on clique sur l'élément C de la zone de liste, alors seuls les éléments 8,9,11 et 12 de la liste déroulante seront affichés. Si on clique par exemple sur l'élément E de la zone de liste, alors seuls les éléments 21,25,27,28,29 et 30 de la liste déroulante seront affichés.
    Comment faire pour que cela soit possible dans le fichier .cs au niveau de la méthode suivante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    protected void ListBoxOne_SelectedIndexChanged(object sender, EventArgs e)
    {
    }
    Je vous remercie.

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    La source de données que tu lies à tes listes doit être filtrée en fonction de l'élément sélectionné dans ListBoxOne.

    Disons que la source de données "MyData" est une liste de clefs/valeurs comme ceci:
    1-A
    2-A
    3-B
    4-C
    Dans la méthode "ListBoxOne_SelectedIndexChanged" le sender est la liste déroulante. Tu fais un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DropDownListOne.Datasource = MyData.Where(x => x.Value == (sender as ListBox).SelectedItem.Value);
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 73
    Par défaut
    Merci.
    Cependant, la clause Where de MyData (SqlDataSourceTest) n'existe pas.
    La ligne suivante ne fonctionne pas à partir de Where :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DropDownListOne.Datasource = SqlDataSourceTest.Where
    Est-ce normal ?

  4. #4
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Hello,

    C'est du LINQ. Il faut rajouter le bon using
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Par défaut
    Et voilà tu as les clauses linq dispo sur tes listes


    Un autre moyen été d'avoir par ex :
    Class A (listbox) : libelle et propriété ListeB du type B (dropdownlist) et dans listB tu as les éléments possibles pour celui ci.

    et dans ton selection Changed tu pointes l'itemsSource du dropdowlist sur ListeB du selecteditem.

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 73
    Par défaut
    Je vous remercie.
    Mais pour pouvoir utiliser LinqDataSource, je dois être dans un projet Site Web et non dans un projet Application Web ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2011, 08h53
  2. remplir un listBox à partir d'un dropdownList
    Par prince_antonio dans le forum ASP.NET
    Réponses: 5
    Dernier message: 05/03/2008, 22h36
  3. DrawItem d'un listbox...
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/06/2007, 15h50
  4. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53
  5. Copier le texte d'un ListBox dans le clipboard.
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/08/2002, 08h20

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