Bonjour à tous,

j'ai un problème avec un gridview dont je veux mettre à jour une ligne.

Ce qui arrive c'est que : lorsque je click sur mon bouton update, et que j'ai effectué un changement, il n'enregistre pas ma modification et qui plus est, il efface le record dans la table.

Comme une image vaut mille mots, je vous transmet mon code :

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<asp:GridView ID="ux_GridViewListeTables" runat="server" AutoGenerateColumns="False" 
        DataSourceID="ux_SqlDataSourceListeTables" Width="80%" CssClass="BorderStyle" DataKeyNames="NomTables"
        >
            <HeaderStyle CssClass="Header10n" />
            <RowStyle CssClass="DataText8n1" />
            <AlternatingRowStyle CssClass="DataText8n2" />
            <EmptyDataRowStyle CssClass="Header10n" />
            <Columns>
                <asp:BoundField ItemStyle-HorizontalAlign="center" DataField="NomTables" ReadOnly="true"
                HeaderText="NomTables" SortExpression="NomTables" />
                <asp:HyperLinkField DataTextField="NomTables" HeaderText="<%$Resources:ListeTables, NomTables %>" SortExpression="NomTables"
                DataNavigateUrlFields="NomTables" DataNavigateUrlFormatString="~/BPCS/Recherche.aspx?nomTables={0}" />
                <asp:CommandField  
                ButtonType="Image" 
                EditImageUrl="http://intranet.lassonde.com/NET/Images/Edit.png" 
                ShowEditButton="true" 
                CancelImageUrl="http://intranet.lassonde.com/NET/Images/inactive.png" 
                UpdateImageUrl="http://intranet.lassonde.com/NET/Images/save.png" />
                <asp:TemplateField SortExpression="description" HeaderText="<%$Resources:ListeTables, Description %>" >
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDesc" Runat="server" CssClass="Text8n" Columns="22" 
                        MaxLength="19" Text='<%# Bind("description") %>' />
                    </EditItemTemplate>
                    <ItemTemplate>
                          <%#Eval("description")%>
                    </ItemTemplate>
                </asp:TemplateField>          
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="ux_SqlDataSourceListeTables" runat="server" 
        SelectCommand="SELECT DISTINCT [lfds].[WHFILE] as NomTables, [lassondeIntranet].dbo.[TableBPCS].[Description] as description
        FROM [lfds]
        LEFT OUTER JOIN [lassondeIntranet].dbo.[TableBPCS] on [lfds].[WHFILE] = [lassondeIntranet].dbo.[TableBPCS].[table]"
        UpdateCommand="UPDATE [lassondeIntranet].dbo.[TableBPCS] SET description=@description
        WHERE [table]=@NomTables"
        >
        <UpdateParameters >
            <asp:Parameter Type="String" Name="description" />
            <asp:Parameter Type="String" Name="NomTables" />
        </UpdateParameters>
        </asp:SqlDataSource>
Tout ce qui se passe dans mon CodeBehind est l'initialisation du connection string de mon datasource dans le PageLoad.

Merci d'avance...