<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CssClass="datatable" DataKeyNames="id" GridLines="None" RowStyle-HorizontalAlign="Center" PageSize="5"> <Columns> <asp:TemplateField HeaderText="Edit"> <ItemTemplate> <asp:LinkButton ID="lnkEdit" runat="server" Text="Edit" CommandName="Edit" /> </ItemTemplate> <EditItemTemplate> <asp:LinkButton ID="lnkUpdate" runat="server" Text="Update" CommandName="Update" /> <asp:LinkButton ID="lnkCancel" runat="server" Text="Cancel" CommandName="Cancel" /> </EditItemTemplate> </asp:TemplateField> <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True" SortExpression="id" /> <asp:TemplateField HeaderText="Creator" SortExpression="Creator"> <ItemTemplate> <%# Eval("Creator")%> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="txbCreator" runat="server" Text='<%# Eval("Creator") %>' /> </EditItemTemplate> </asp:TemplateField> </Columns> <PagerStyle CssClass="pager-row" /> <RowStyle CssClass="row" /> <EditRowStyle CssClass="row" /> <HeaderStyle HorizontalAlign="Center" /> <PagerSettings Mode="NumericFirstLast" PageButtonCount="7" FirstPageText="«" LastPageText="»" /> <SortedAscendingCellStyle CssClass="sortasc" /> <SortedAscendingHeaderStyle CssClass="sortasc" /> <SortedDescendingCellStyle CssClass="sortdesc" /> <SortedDescendingHeaderStyle CssClass="sortdesc" /> </asp:GridView>
Private Sub GridView1_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing GridView1.EditIndex = e.NewEditIndex BindGrid()End SubPrivate Sub GridView1_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating 'get selected id from Tabel Dim id = GridView1.DataKeys(e.RowIndex).Value Dim row As GridViewRow = TryCast(GridView1.Rows(e.RowIndex), GridViewRow) Dim tCreator As TextBox = TryCast(row.FindControl("txbCreator"), TextBox) Using sqlCon As New SqlConnection(sqlConStr) Dim sql As String sql = "Update tChangeClass0_log set Creator=@Creator where id = @id" Using cmd As New SqlCommand(sql, sqlCon) cmd.Parameters.AddWithValue("@Creator", tCreator.Text.Trim()) <--- Breakpoint: in tCreator.Text steht der alte Wert und nicht der neu editierte! cmd.Parameters.AddWithValue("@id", id) sqlCon.Open() cmd.ExecuteNonQuery() sqlCon.Close() End Using End Using GridView1.EditIndex = -1 BindGrid() End Sub
Achte mal darauf, ob Du in Deinem Code "e.OldValues oder e.NewValues" zurück bekommst...
Beste Grüße
Walter