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 :

Gridview, DropDownList et SqlDataSource


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Par défaut Gridview, DropDownList et SqlDataSource
    Bonjour,


    voici mon problème:
    J'ai une gridview, avec deux colonnes que j'ai converti en TemplateField pour pouvoir afficher des DropDownList quand je passe en mode édition d'une ligne.
    Le DataSource de ces deux DropDownList est lié à deux SqlDataSource différents. Jusque la, pas de problèmes...

    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
     
    <asp:GridView>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDsDDL1">
            </asp:DropDownList>
        </EditItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDsDDL2">
            </asp:DropDownList>
        </EditItemTemplate>
    </asp:TemplateField>
    </asp:GridView>
    Mais la où j'ai un problème, c'est que le SqlDataSource de la deuxième DropDownList possède un SqlParameter et je voudrais que ce SqlParameter prenne la valeur sélectionnée dans ma première DropDownList

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <asp:SqlDataSource ID="SqlDsDDL1" >
    </asp:SqlDataSource>
     
    <asp:SqlDataSource ID="SqlDsDDL2" >
        <SelectParameters>
            <asp:Parameter Name="myParam"  />
        </SelectParameters>
    </asp:SqlDataSource>
    J'ai essayé de créer un ControlParameter pour mon deuxième SqlDataSource avec pour contrôle visé ma première DropDownList mais à l'exécution, j'ai une erreur au niveau des paramètres de mon SqlDsDDL2, DropDownList1 n'est pas reconnu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <asp:SqlDataSource ID="SqlDsDDL2" >
        <SelectParameters>
            <asp:ControlParameter Name="myParam" ControlID="DropDownList1" PropertyName="SelectedValue"  />
        </SelectParameters>
    </asp:SqlDataSource>
    Je ne sais pas trop si je suis assez clair mais si quelqu'un a déjà essayé de faire ce genre de chose, je suis preneur de toutes solutions envisageables!!!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    bonjour en fait ton problème vient du fait que pour UNE ligne du gridview tu as DropDownList1 et DropDownList2. Or ces deux ddl sont répétées pour chaque ligne du gridview et donc quand tu passe DropDownList2 à ta SqlDataSource elle ne connait pas DropDownList2.

    Pour résoudre cela je vois deux solutions :
    - soit il faut créer les deux sqldatasource dans le EditItemTemplate
    - Soit lorsque l'on change l'index de DropDownList1 on va appeler la méthode Select de la SqlDataSource et la binder à la DropDownList2

  3. #3
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Par défaut
    Merci jjameau!!!

    J'ai essayé avec la première solution et ça marche nickel...

    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
     
    <asp:GridView>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDsDDL1">
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDsDDL2" >
                <SelectParameters>
                    <asp:ControlParameter Name="myParam" ControlID="DropDownList1" PropertyName="SelectedValue"  />
                </SelectParameters>
            </asp:SqlDataSource>
        </EditItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
        <EditItemTemplate>
            <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDsDDL2">
            </asp:DropDownList>
        </EditItemTemplate>
    </asp:TemplateField>
    </asp:GridView>
     
    <asp:SqlDataSource ID="SqlDsDDL1" >
    </asp:SqlDataSource>

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

Discussions similaires

  1. Refresh GridView avec un sqldatasource
    Par ribeheld dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/08/2011, 13h26
  2. problème gridview + dropdownlist
    Par sky88 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 31/08/2010, 11h08
  3. gridview + dropdownlist
    Par Nicopilami dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/09/2009, 09h28
  4. gridview cree un sqldatasource
    Par lazins dans le forum ASP.NET
    Réponses: 0
    Dernier message: 21/11/2008, 17h23
  5. Réponses: 3
    Dernier message: 12/06/2007, 10h31

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