Bonjour,

j'ai créée une GridView qui est branché sur un datatset car ma source de données peut-être aussi bien Oracle que Sql.
Je charge les données dans le GridView de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
_dataset = DB.ExecuteDataset(CommandType.Text, "SELECT ID_ACTION, CODE_ACTION, DESI_ACTION, VISE FROM " & PreFixe & "ACTIONS ORDER BY CODE_ACTION")
GridView1.DataSource = _dataset
GridView1.DataBind()
J'ai défini ma GridView de la façon 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
15
16
17
18
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ID_ACTION" 
ForeColor="#333333" GridLines="None">
   <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
   <Columns>
      <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" />
      <asp:BoundField DataField="ID_ACTION" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID_ACTION"/>
      <asp:BoundField DataField="CODE_ACTION" HeaderText="Code" SortExpression="CODE_ACTION" />
      <asp:BoundField DataField="DESI_ACTION" HeaderText="Desi" SortExpression="DESI_ACTION" />
      <asp:BoundField DataField="VISE" HeaderText="Vise" SortExpression="VISE"/>
   </Columns>
   <RowStyle BackColor="#EFF3FB" />
   <EditRowStyle BackColor="#2461BF" />
   <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
   <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
   <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
   <AlternatingRowStyle BackColor="White" />
</asp:GridView>
Je dois gérér manuellement toutes les mises à jours sur mes données, je vais utiliser des procédures stockées.
J'ai voulu m'attaquer à l'Update mais je suis fasse à un problème.
Lorsque je suis dans l'évenement GridView1_RowUpdating, je n'ai pas accès à mes anciennes valeurs (e.OldValues) et à mes nouvelles (e.NewValues), ce qui semble t'il est normal car c'est du remplissage dynamique.
J'ai donc essayé avec
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
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim cell As DataControlFieldCell
Dim i As Integer
For i = 1 To 4
   cell = CType(GridView1.Rows(e.RowIndex).Cells(i), DataControlFieldCell)
   GridView1.Columns(i).ExtractValuesFromCell(e.OldValues, cell, DataControlRowState.Edit, True)
Next
For Each key As String In e.OldValues.Keys
   MsgBox(e.OldValues(key) & " -- " & key)
Next
GridView1.DataSource = _dataset
GridView1.DataBind()
For i = 1 To 4
   cell = CType(GridView1.Rows(e.RowIndex).Cells(i), DataControlFieldCell)
   GridView1.Columns(i).ExtractValuesFromCell(e.NewValues, cell, DataControlRowState.Edit, True)
Next
For Each key As String In e.NewValues.Keys
   MsgBox(e.NewValues(key) & " -- " & key)
Next
Je récupère toujours les anciennes valeurs et pas les nouvelles !!!
Merci par avance de votre aide.