Suppose That we have a gridview containing a chekcbox and binded to a table that contain a bit column .

How we can edit that Gridview and insert changes in the checkbox column.

Parse XML of the Gridview :

<asp:GridView ID="GridView1" runat="server"   onrowcancelingedit="GridView1_RowCancelingEdit"
           onrowediting="GridView1_RowEditing"
            onrowupdating="GridView1_RowUpdating" >
                        
                <Columns>
                  <asp:CommandField ShowEditButton="true" />
                        <asp:TemplateField HeaderText="active">
                <EditItemTemplate>
                    <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("autorise") %>'  AutoPostBack="true" />
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("autorise") %>'
                       Enabled="False" />
                </ItemTemplate>
            </asp:TemplateField>
                           </Columns>
                </asp:GridView>

autorise is the bit column in the database (0 or 1)

In the code behind we should find the control checkbox and update it

Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
        GridView1.EditIndex = e.NewEditIndex
        BindGrid()
    End Sub
 
    Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
        GridView1.EditIndex = -1
        BindGrid()
    End Sub
    Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
         For Each GridViewRow In GridView1.Rows
 
            Dim row As GridViewRow = GridView1.Rows(e.RowIndex)
            Dim value As Boolean
            value = DirectCast(GridView1.Rows(e.RowIndex).Cells(0).FindControl("CheckBox1"), CheckBox).Checked
            Dim connectionString As String = ConfigurationManager.ConnectionStrings("TABLEConnectionString").ConnectionString
           Dim com_sql As New SqlClient.SqlCommand
            Dim insertSql As String
            insertSql = "UPDATE  mytable SET autorise='" & value & "' "
            Using myConnection As New SqlConnection(connectionString)
                myConnection.Open()
                Dim myCommand As New SqlCommand(insertSql, myConnection)
                myCommand.Parameters.AddWithValue("@autorise", value)
                myCommand.ExecuteNonQuery()
                myConnection.Close()
            End Using
        Next
        GridView1.EditIndex = -1
        BindGrid()
    End Sub


BindGrid is a method that bind the gridview and TABLEConnectionString is the name of the connectionstring in the web.config that you will find in  the appropriate section.

Happy coding!