私は でGridview満たされたdataTable、で満たされた を持っていDataAdapterます。これが、 grid が に最初に読み込まれる方法Page_Loadです。検索機能を追加するには、同じことを行いTextBox.Textますが、パラメーターとしてSELECT... LIKE ...ステートメントに渡します。編集機能 (すべての行にボタン) を追加するにdataTableは、   dataTable. 問題は、その値を維持する (永続化する) 方法がわからないことと、dataTable編集ボタンを押したときに列が 0 であるため、編集するものが表示されないことです。を使用しているために発生すると思いますが、Usingおそらく のdataTable後にクリーンアップされてEnd Usingいます。
その場合、どうすれば直せますか?削除することを考えmiconn.Close()ましたが、何も解決しません。実際、接続がまだ開いているかどうかはわかりませんEnd Using。
コード:
Dim con As New Connection
Dim table As New DataTable()
Private Sub fill_grid()
    Using miconn As New SqlConnection(con.GetConnectionString())
        Dim sql As String = "SELECT area,lider_usuario FROM AREA"
        Using command As New SqlCommand(sql, miconn)
            Using ad As New SqlDataAdapter(command)
                ad.Fill(table)
                GridView1.DataSource = table
                GridView1.DataBind()
                'miconn.Close()
            End Using
        End Using
    End Using
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
        fill_grid()
        End If
End Sub
Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click
        Dim miCon As New Connection
        Using miconn As New SqlConnection(miCon.GetConnectionString())
            Dim sql As String = "SELECT area,lider_usuario FROM AREA WHERE area LIKE @area"
            Using command As New SqlCommand(sql, miconn)
                command.Parameters.Clear()
                command.Parameters.Add("@area", SqlDbType.VarChar).Value = "%" + TextBox1.Text + "%"
                Using ad As New SqlDataAdapter(command)
                    ad.Fill(table)
                    GridView1.DataSource = table
                    GridView1.DataBind()
                    'miconn.Close()
                End Using
            End Using
        End Using
End Sub
  Protected Sub EditRow(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
        GridView1.EditIndex = e.NewEditIndex
        GridView1.DataSource = table
        GridView1.DataBind()
    End Sub
   Protected Sub CancelEditRow(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
        GridView1.EditIndex = -1
        GridView1.DataSource = table
        GridView1.DataBind()
    End Sub