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