Edit, update and cancel the records in the datagrid.

In this blog we will be able to edit, update and cancel the records in the datagrid.

 

 

Program

 

Default.aspx code

 

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Edit update and cancel the records in the datagrid</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    <asp:DataGrid id="DataGrid1"

 OnEditCommand="datagrid1_editcommand" DataKeyField="sid" BackColor="#FF9999"

OnUpdateCommand="datagrid1_updatecommand"  OnCancelCommand="datagrid1_cancelcommand"

AutoGenerateColumns="False" runat="server" Width="416px">

<HeaderStyle BackColor="#FFCC99" />

    <Columns>

    <asp:BoundColumn DataField="sid" HeaderText="ID" ReadOnly="True"></asp:BoundColumn>

    <asp:BoundColumn DataField="sname" HeaderText="NAME"></asp:BoundColumn>

    <asp:BoundColumn DataField="saddress" HeaderText="ADDRESS"></asp:BoundColumn>

    <asp:BoundColumn DataField="smarks" HeaderText="MARKS"></asp:BoundColumn>

    <asp:BoundColumn DataField="year" HeaderText="YEAR"></asp:BoundColumn>

    <asp:EditCommandColumn ButtonType="LinkButton" HeaderText="EDIT" UpdateText="update" CancelText="cancel"

    EditText="edit"></asp:EditCommandColumn>

    </Columns>

    </asp:DataGrid>

    </div>

    </form>

</body>

</html>

 

Default.aspx.vb code

 

Imports System.Data.SqlClient

Imports System.Data

Partial Class _Default

    Inherits System.Web.UI.Page

    Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()

    Dim con As New SqlConnection(strConnString)

    Dim sqlda As SqlDataAdapter

    Dim com As SqlCommand

    Dim ds As DataSet

    Dim str As String

    Dim s As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then

            bindgrid()

        End If

    End Sub

    Sub bindgrid()

        Try

            con.Open()

            str = "select * from student"

            com = New SqlCommand(str, con)

            Dim reader As SqlDataReader = com.ExecuteReader

            DataGrid1.DataSource = reader

            DataGrid1.DataBind()

            reader.Close()

            con.Close()

        Catch ex As Exception

            Response.Write(ex.Message)

        End Try

    End Sub

 

    Protected Sub datagrid1_editcommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand

        DataGrid1.EditItemIndex = e.Item.ItemIndex

        bindgrid()

    End Sub

 

    Protected Sub datagrid1_updatecommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand

        Dim s1, s2, s3 As String

        Dim s4, s5 As Integer

        s1 = DataGrid1.DataKeys(e.Item.ItemIndex)

        Dim txtname As TextBox

        Dim txtaddress As TextBox

        Dim txtmarks As TextBox

        Dim txtyear As TextBox

        txtname = e.Item.Cells(1).Controls(0)

        txtaddress = e.Item.Cells(2).Controls(0)

        txtmarks = e.Item.Cells(3).Controls(0)

        txtyear = e.Item.Cells(4).Controls(0)

        s2 = txtname.Text

        s3 = txtaddress.Text

        s4 = txtmarks.Text

        s5 = txtyear.Text

        str = "update student set sname='" & s2 & "', saddress='" & s3 & "',smarks=" & s4 & ",year='" & s5 & "' where sid='" & s1 & "'"

        com = New SqlCommand(str, con)

        con.Open()

        com.ExecuteNonQuery()

        con.Close()

        DataGrid1.EditItemIndex = -1

        bindgrid()

    End Sub

 

    Protected Sub datagrid1_cancelcommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand

        DataGrid1.EditItemIndex = -1

        bindgrid()

    End Sub

End Class