Bonjour à tous, voila mon soucis : (avant tout, il est important pour moi de vous signalier que je suis un pur débutant, moins de 2 mois de pratique)...
Je programme une application web en VB.net sous Visual Studio 2005, avec une base de donéne sous SQL Server 2005.
Je dois avoir une partie de modification des contact dans un DetailsView.
J'ai dû transformer certains de ses champs en Template Fields, pour avoir des DropDownList.
Mon problème est que lorsque je modifie les contenus des champs (exemple : le NOM ou le PRENOM d'un contact), et que je presse le bouton "Mettre à jour", les données ne sont pas mises à jour, au contraire, les données des champs de textes ou des listes déroulantes sont rechargées comme à l'origine.
J'ai bien cherché et essayé de me documenté, de refaire cette partie de ma page, mais sans succès... Si vous avez une idée, n'ésitez pas à m'en faire part...
_______________________________________________________________
VOICI MON CODE : LE DETAILSVIEW
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataSourceID="SqlDataSourceconsult"
Height="50px" Width="125px" CellPadding="4" ForeColor="#333333" GridLines="None" DefaultMode="Edit" BorderColor="#2167B3" BorderStyle="Solid" BorderWidth="2px">
<Fields>
<asp:BoundField DataField="Code" HeaderText="Code" InsertVisible="False" ReadOnly="True"
SortExpression="Code" Visible="False" />
<asp:TemplateField HeaderText="Civilite" SortExpression="Civilite">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" SelectedValue='<%# Bind("Civilite", "{0}") %>' Width="150px" >
<asp:ListItem Value="Mlle">Mlle</asp:ListItem>
<asp:ListItem Value="Mme">Mme</asp:ListItem>
<asp:ListItem Value="Mr">Mr</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Civilite") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Civilite") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Nom" HeaderText="Nom" SortExpression="Nom"/>
<asp:BoundField DataField="Prenom" HeaderText="Prenom" SortExpression="Prenom" />
<asp:BoundField DataField="Matricule" HeaderText="N° User" SortExpression="Matricule" />
<asp:BoundField DataField="Fax" HeaderText="Fax" SortExpression="Fax" />
<asp:BoundField DataField="Poste" HeaderText="Poste" SortExpression="Poste" />
<asp:TemplateField HeaderText="Immeuble" SortExpression="Immeuble">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="SqlDataSourceImmeuble" DataTextField="Immeuble" DataValueField="Id_immeuble" SelectedValue='<%# Bind("Id_immeuble", "{0}") %>' Width="150px">
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Immeuble") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Immeuble") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Service" SortExpression="Service">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSourceService" DataTextField="Service" DataValueField="Id_service" SelectedValue='<%# Bind("Id_service", "{0}") %>' Width="150px"> </asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Service") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Service") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fonction" SortExpression="Fonction">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList4" runat="server" DataSourceID="SqlDataSourceFonction" DataTextField="Fonction" DataValueField="Id_fonction" SelectedValue='<%# Bind("Id_fonction", "{0}") %>' Width="150px"> </asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Fonction") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Fonction") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Mobile" HeaderText="Mobile" SortExpression="Mobile" />
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Update" Text="Mettre à jour" />
<asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Cancel" Text="Annuler" />
</EditItemTemplate>
<InsertItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Insert"
Text="Insérer" /> <asp:Button ID="Button2" runat="server" CausesValidation="False"
CommandName="Cancel" Text="Annuler" />
</InsertItemTemplate>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="False" CommandName="Edit"
Text="Modifier" />
<asp:Button ID="Button2" runat="server" CausesValidation="False"
CommandName="New" Text="Nouveau" />
</ItemTemplate>
<ControlStyle BackColor="#2167B3" BorderStyle="None" Font-Names="Arial" Font-Size="10pt"
ForeColor="White" Font-Bold="True"/>
</asp:TemplateField>
</Fields>
<FooterStyle BackColor="#2167B3" Font-Bold="True" ForeColor="White" />
<CommandRowStyle BackColor="White" Font-Bold="True" />
<RowStyle BackColor="White" HorizontalAlign="Center" VerticalAlign="Middle" />
<FieldHeaderStyle BackColor="White" Font-Bold="True" />
<PagerStyle BackColor="#2167B3" ForeColor="White" HorizontalAlign="Center" BorderStyle="None" Font-Names="Arial" Font-Size="12pt" VerticalAlign="Middle" />
<HeaderStyle BackColor="#2167B3" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2167B3" HorizontalAlign="Justify" VerticalAlign="Middle" />
<AlternatingRowStyle BackColor="#2167B3" />
<InsertRowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:DetailsView>
_____________________________________________________________________
LE SQL DATA SOURCE qui contient le select et l'update
<asp:SqlDataSource ID="SqlDataSourceconsult" runat="server" ConnectionString="<%$ ConnectionStrings:SOCGENConnectionStringTest %>"
SelectCommand="SELECT DISTINCT Effectifs.Nom, Effectifs.Civilite, Effectifs.Prenom, Effectifs.Matricule, Effectifs.Fax, Effectifs.Poste, Service.Service, Fonction.Fonction, Effectifs.Mobile, Effectifs.Code, Effectifs.Service AS Id_service, Effectifs.Fonction AS Id_fonction, Immeuble.Immeuble, Effectifs.Immeuble AS Id_immeuble FROM Effectifs INNER JOIN Service ON Effectifs.Service = Service.ID INNER JOIN Fonction ON Effectifs.Fonction = Fonction.Id INNER JOIN Immeuble ON Effectifs.Immeuble = Immeuble.Id WHERE (Effectifs.Code = @Code)"
UpdateCommand="UPDATE Effectifs SET Nom = @Nom, Civilite = @Civilite, Prenom = @Prenom, Image = @Image, Immeuble = @Immeuble, Service = @Service, Fonction = @Fonction, Poste = @Poste, Fax = @Fax, Matricule = @Matricule, Mobile = @Mobile, Mise_a_jour = @Mise_a_jour WHERE (Code = @code)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="245" Name="Code" QueryStringField="code" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Formparameter Name="Code" formfield="Code"/>
<asp:formparameter Name="Nom" Type="String" formfield="Nom"/>
<asp:Formparameter Name="Civilite" Type="String" formfield="Civilite"/>
<asp:Formparameter Name="Prenom" Type="String" formfield="Prenom"/>
<asp:Formparameter Name="Image" Type="String" formfield="Image"/>
<asp:Formparameter Name="Immeuble" formfield="Immeuble"/>
<asp:Formparameter Name="Service" formfield="Service"/>
<asp:Formparameter Name="Fonction" formfield="Fonction"/>
<asp:Formparameter Name="Poste" Type="String" formfield="Poste"/>
<asp:Formparameter Name="Fax" Type="String" formfield="Fax"/>
<asp:Formparameter Name="Matricule" Type="String" formfield="Matricule"/>
<asp:Formparameter Name="Mobile" Type="String" formfield="Mobile"/>
<asp:Formparameter Name="Mise_a_jour" Type="String" formfield="textbox5"/>
</UpdateParameters>
</asp:SqlDataSource>
___________________________
Par avance, Merci.
Rom's
