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 :

[ASP.NET 2.0] filtrer une dropdowlist à partir d'une autre


Sujet :

ASP.NET

  1. #1
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut [ASP.NET 2.0] filtrer une dropdowlist à partir d'une autre
    Bonjour à tous,

    Je rencontre le problème suivant. J'ai besoin de filtrer une dropdownlist à partir d'une sélection effectuée dans une autre dropdowlist. Mes données proviennent d'une base de données. Mes 2 dropdownlist sont bindés de cette manière. La première qui me sert de source est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <EditItemTemplate>
               <asp:SqlDataSource ID="dsCategories" runat="server" 
                                                ConnectionString="<%$ ConnectionStrings:csGestionIncidents %>"
                                                SelectCommand="SELECT * FROM [Categories]"></asp:SqlDataSource>
                        <asp:DropDownList ID="ddlCategorie" runat="server" 
                           DataSourceID="dsCategories" 
                           DataTextField="LibelleCategorie"
                           DataValueField="ID_Categorie" 
                           SelectedValue='<%# Bind("ID_Categorie") %>'
                           AppendDataBoundItems="true"
                           AutoPostBack="True">
                        </asp:DropDownList>
               </EditItemTemplate>
    La deuxième qui récupère la valeur de la première est bindée comme ceci:
    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
     
    <EditItemTemplate>
                    <asp:SqlDataSource ID="dsThemes" runat="server" 
                                                ConnectionString="<%$ ConnectionStrings:csGestionIncidents %>"
                                                SelectCommand="SELECT CatTheme.ID, CatTheme.ID_Cat, Themes.LibelleTheme 
                                                FROM Themes INNER JOIN 
                                                CatTheme ON Themes.ID_Theme = CatTheme.ID_Theme 
                                                WHERE (CatTheme.ID_Cat = @ID_Categorie)">
                     <SelectParameters>
                                 <asp:ControlParameter ControlID="ddlCategorie"
                                    Name="ID_Categorie"
                                    PropertyName="SelectedValue"
                                    type="int32" />
                     </SelectParameters>
                        </asp:SqlDataSource>
                        <asp:DropDownList ID="ddlThemes" runat="server" 
                          DataSourceID="dsThemes" 
                          DataTextField="LibelleTheme"
                          DataValueField="ID" 
                          SelectedValue='<%# Bind("ID_Theme") %>'
                          AppendDataBoundItems="true"
                          AutoPostback="true">
                        </asp:DropDownList>
                </EditItemTemplate>
    Le problème est que lorsque je sélectionne un item dans la ddlCategorie je reçoit le message suivant:
    Les méthodes de liaison de données telles que Eval(), XPath() et Bind() peuvent uniquement être utilisées dans le contexte d'un contrôle lié aux données.
    Je ne comprend pas ce message car tous mes contrôles sont liés aux données.
    Est ce que quelqu'un à déjà rencontre ce type de message ?
    Merci pour votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Salut je n'ai pas tout lut mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <asp:DropDownList ID="ddlThemes" runat="server" 
                          DataSourceID="dsThemes" 
                          DataTextField="LibelleTheme"
                          DataValueField="ID" 
                          SelectedValue='<%# Bind("ID_Theme") %>'
                          AppendDataBoundItems="true"
                          AutoPostback="true">
                        </asp:DropDownList>
    ID_Theme n'est pas dans ton SELECT qui lui a juste ID (pour theme).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CatTheme.ID, CatTheme.ID_Cat, Themes.LibelleTheme

  3. #3
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    C'est bon j'ai trouvé grace à ce tuto sur le net:
    http://www.webswapp.com/categories/V...sC-DetailsView
    Il est assez bien même si toutes les explications ne sont pas présent on s'en sort. La preuve je suis novice sur asp et je m'en suis sorti.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2010, 16h43
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 17h26
  3. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 17h17
  4. Réponses: 2
    Dernier message: 05/01/2009, 13h45
  5. Réponses: 5
    Dernier message: 22/05/2008, 15h42

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