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 :
J'ai défini ma 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()
Je dois gérér manuellement toutes les mises à jours sur mes données, je vais utiliser des procédures stockées.
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>
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
Je récupère toujours les anciennes valeurs et pas les nouvelles !!!
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
Merci par avance de votre aide.
Partager