In Default.aspx AutoGenerateEditButton啓用沿着第一列(OnRowEditing)的「編輯」按鈕當您按下「編輯」按鈕時,它會再出現兩個按鈕:更新(OnRowUpdating)和取消(OnRowCancelingEdit)。我需要「更新」按鈕和SQL語句中的數據幫助。更新和OnRowUpdating
<asp:GridView ID="GridView1" runat="server" AutoPostBack="True" AutoGenerateColumns="False" AutoGenerateEditButton="True" OnRowCancelingEdit="Gridview1_OnRowCancelingEdit" OnRowEditing="Gridview1_OnRowEditing" OnRowUpdating="GridView1_OnRowUpdating>
</asp:GridView>
在Default.aspx.vb
Protected Sub GridView1_OnRowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
GridView1.EditIndex = e.NewEditIndex
ViewState("pageIndex") = GridView1.EditIndex
ShowGrid()
End Sub
Protected Sub GridView1_OnRowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
GridView1.EditIndex = -1
ViewState("pageIndex") = GridView1.EditIndex
ShowGrid()
End Sub
Protected Sub GridView1_OnRowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
Dim connStr, cmdStr As String
connStr = "Connection String works"
cmdStr = "UPDATE table1 SET ([email protected],[email protected],[email protected]) WHERE [email protected];"
Try
Using conn As New SqlConnection(connStr)
Using cmd As New SqlCommand(cmdStr, conn)
conn.Open()
cmd.Parameters.AddWithValue("@id", GridView1.Rows(e.RowIndex).Cells(1).Text)
cmd.Parameters.AddWithValue("@col2", GridView1.Rows(e.RowIndex).Cells(2).Text)
cmd.Parameters.AddWithValue("@col3", GridView1.Rows(e.RowIndex).Cells(3).Text)
cmd.Parameters.AddWithValue("@col4", GridView1.Rows(e.RowIndex).Cells(4).Text)
cmd.ExecuteNonQuery()
conn.Close()
cmd.Dispose()
conn.Dispose()
End Using
End Using
Catch ex As Exception
End Try
ShowGrid()
End Sub
我不知道有關的代碼行:
GridView1.Rows(e.RowIndex).Cells(1)。文本)
這是什麼意思,你選擇「編輯」,然後編輯條目,然後按更新
什麼是colu行mn「單元格(1)」1表示第一列?
什麼是「單元格(2)」2列是用於第二列?
id在col1中,並且是主鍵,所以如果它被改變了,它應該到達堆棧的底部。
當我更新一列時,它會自動恢復到舊值。
確保如果您在Page_Load中調用'ShowGrid()',它在任何'If Not IsPostBack ... EndIf'塊內。 – afzalulh