probleme pour lié une dropdownlist d'un gridview avec un autre sqldatasource
Bonjour
Cela fait plusieurs jours que je but sur un problème pour lier une dropdownlist en mode édition avec un autre sqldatasouce.
Je liste dans un gridview les données d'une table, et je souhaite pouvoir modifier le contenu d'une colonne à l' aide d'une dropdownlist.
Le soucis c'est que les valeurs que je veux lister dans ma ddl sont dans une autre table et je n'arrive pas à lister les valeurs qui correspondent à celle de la ligne selectionnée.
aspx:
Code:
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
|
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Liste projets"></asp:Label>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="idprojet" DataSourceID="SqlDataSource1" AllowSorting="True" style="margin-top: 0px">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:BoundField DataField="idprojet" HeaderText="idprojet" InsertVisible="False" ReadOnly="True" SortExpression="idprojet" />
<asp:BoundField DataField="projet" HeaderText="projet" SortExpression="projet" />
<asp:BoundField DataField="noserie" HeaderText="noserie" SortExpression="noserie" />
<asp:BoundField DataField="description" HeaderText="description" SortExpression="description" />
<asp:BoundField DataField="idclient" HeaderText="idclient" SortExpression="idclient" />
<asp:BoundField DataField="client" HeaderText="client" SortExpression="client" />
<asp:TemplateField HeaderText="attention" SortExpression="attention">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource2" DataTextField="attention" DataValueField="idattention" SelectedValue='<%# Bind("idclient") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("attention") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="livraison" SortExpression="livraison">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="SqlDataSource3" DataTextField="livraison" DataValueField="idlivraison" SelectedValue='<%# Bind("idclient") %>' AutoPostBack="True">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("livraison") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="mail" SortExpression="mail">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList4" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource4" DataTextField="mail" DataValueField="idmail" SelectedValue='<%# Bind("idclient") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("mail") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="idattention" HeaderText="idattention" SortExpression="idattention" Visible="False" />
<asp:BoundField DataField="idlivraison" HeaderText="idlivraison" SortExpression="idlivraison" Visible="False" />
<asp:BoundField DataField="idmail" HeaderText="idmail" SortExpression="idmail" Visible="False" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:mad_arConnectionString %>" ProviderName="<%$ ConnectionStrings:mad_arConnectionString.ProviderName %>" SelectCommand="SELECT projets.idprojet, projets.projet, projets.noserie, projets.description, projets.idclient, clients.client, attentions.attention, livraisons.livraison, mails.mail, projets.idattention, projets.idlivraison, projets.idmail FROM projets INNER JOIN attentions ON projets.idattention = attentions.idattention INNER JOIN livraisons ON projets.idlivraison = livraisons.idlivraison INNER JOIN mails ON projets.idmail = mails.idmail INNER JOIN clients ON projets.idclient = clients.idclient" UpdateCommand="UPDATE projets SET idattention = @idattention, idlivraison = @idlivraison, idmail = @idmail WHERE (idclient = @idclient)"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:mad_arConnectionString %>" ProviderName="<%$ ConnectionStrings:mad_arConnectionString.ProviderName %>" SelectCommand="SELECT idattention, attention, statutattention, idclient FROM attentions WHERE (idclient = @idclient)">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:mad_arConnectionString %>" ProviderName="<%$ ConnectionStrings:mad_arConnectionString.ProviderName %>" SelectCommand="SELECT idlivraison, livraison, statuslivraison, idclient FROM livraisons WHERE (idclient = @idclient)">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:mad_arConnectionString %>" ProviderName="<%$ ConnectionStrings:mad_arConnectionString.ProviderName %>" SelectCommand="SELECT idmail, mail, statusmail, idclient FROM mails WHERE (idclient = @idclient)">
</asp:SqlDataSource>
<br />
</div>
</form>
</body> |
Quand je clique sur le bouton modifier, j'ai cette erreur:
'DropDownList2' a un SelectedValue qui n'est pas valide, car il n'existe pas dans la liste des éléments.
Nom du paramètre : value
Merci pour votre aide.
Je suis sur visual studio 2013 avec bdd mysql.