解决方案 »

  1.   

    你编辑事件没写,或者写了没有绑定。Editing事件
      

  2.   

    麻烦看看我的代码
    Imports System
    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.Web.Configuration
    Partial Class hr
        Inherits System.Web.UI.Page    Protected Sub searchAll_Click(sender As Object, e As EventArgs) Handles searchAll.Click
            Dim connectionString As String = WebConfigurationManager.ConnectionStrings("Sdb").ConnectionString
            Dim con As New SqlConnection(connectionString)
            Dim sqlStr As String = "SELECT * FROM hr"
            Dim cmd As New SqlCommand(sqlStr, con)
            Dim da As New SqlDataAdapter(cmd)
            Dim ds As New DataSet()
            Try
                con.Open()
                cmd.ExecuteNonQuery()
            Catch ex As Exception        Finally
                con.Close()
            End Try
            da.Fill(ds, "hr")
            GridView1.DataSource = ds
            GridView1.DataBind()
        End Sub    Protected Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
            Dim connectionString As String = WebConfigurationManager.ConnectionStrings("Sdb").ConnectionString
            Dim con As New SqlConnection(connectionString)
            Dim sqlStr As String = "SELECT * FROM hr WHERE nameC=@nameC OR nameE=@nameE"
            Dim cmd As New SqlCommand(sqlStr, con)
            Dim da As New SqlDataAdapter(cmd)
            cmd.Parameters.AddWithValue("@nameC", txtnameC.Text)
            cmd.Parameters.AddWithValue("@nameE", txtnameE.Text)
            Dim ds As New DataSet()
            Try
                con.Open()
                cmd.ExecuteNonQuery()
            Catch ex As Exception        Finally
                con.Close()
            End Try
            da.Fill(ds, "hr")
            GridView1.DataSource = ds
            GridView1.DataBind()
        End Sub    Protected Sub GridView1_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GridView1.RowCancelingEdit
            GridView1.EditIndex = -1
            GridView1.DataBind()
        End Sub    Protected Sub GridView1_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GridView1.RowEditing
            GridView1.EditIndex = e.NewEditIndex
            GridView1.DataBind()
        End Sub    Protected Sub GridView1_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GridView1.RowUpdating
            Dim ID As String = GridView1.DataKeys(e.RowIndex).Value.ToString()  '获取编辑行关键字的值
            '获取文本框中的内容
            Dim nameC As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(1).Controls(0), TextBox).Text.ToString()
            Dim nameE As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(2).Controls(0), TextBox).Text.ToString()
            Dim age As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(3).Controls(0), TextBox).Text.ToString()
            Dim sex As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(4).Controls(0), TextBox).Text.ToString()
            Dim sfz As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(5).Controls(0), TextBox).Text.ToString()
            Dim school As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(6).Controls(0), TextBox).Text.ToString()
            Dim education As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(7).Controls(0), TextBox).Text.ToString()
            Dim marital As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(8).Controls(0), TextBox).Text.ToString()
            Dim hometown As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(9).Controls(0), TextBox).Text.ToString()
            Dim entryT As String = DirectCast(GridView1.Rows(e.RowIndex).Cells(10).Controls(0), TextBox).Text.ToString()
            Dim sqlStr As String = "UPDATE hr SET nameC='" & nameC & "',nameE='" & nameE & "',age='" & age & "',sex='" & sex & "',sfz='" & sfz & "',school='" & school & "',education='" & education & "',marital='" & marital & "',hometown='" & hometown & "',entryT='" & entryT & "'where ID =" & ID
            Dim connectionString As String = WebConfigurationManager.ConnectionStrings("Sdb").ConnectionString
            Dim con As New SqlConnection(connectionString)
            Dim cmd As New SqlCommand(sqlStr, con)
            Try
                con.Open()
                cmd.ExecuteNonQuery()
                MsgBox("修改成功")
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical, "修改失败")
            Finally
                con.Close()
            End Try
            GridView1.EditIndex = -1
            GridView1.DataBind()
        End Sub
    End Class
      

  3.   

    您是指这个吗
     Protected Sub GridView1_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GridView1.RowEditing
            GridView1.EditIndex = e.NewEditIndex
            GridView1.DataBind()
        End Sub
      

  4.   

    您是指这个吗?
     Protected Sub GridView1_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GridView1.RowEditing
            GridView1.EditIndex = e.NewEditIndex
            GridView1.DataBind()
        End Sub
      

  5.   

    应该把SearchClick里面的内容写成一个方法
    GridView1.DataBind() 这一句换成调用方法
      

  6.   

    不太明白,难道不是因为没有not ispostback的原因