I am trying editable grid in my bind method grid() showing this error here is my code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="joins.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<br />
<br />
<asp:Button ID="Button6" runat="server" OnClick="Button6_Click" Text="Button" />
<br />
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" ShowFooter="True" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowCommand="GridView1_RowCommand" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:TemplateField HeaderText="id">
<EditItemTemplate>
<asp:TextBox ID="txteditid" runat="server"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txteditfooter" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="school">
<EditItemTemplate>
<asp:TextBox ID="txteditscool" runat="server"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txteditfooterschool" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("school") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="office">
<EditItemTemplate>
<asp:TextBox ID="txteditoffs" runat="server"></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txteditfooter" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("office") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="action">
<EditItemTemplate>
<asp:Button ID="Button3" runat="server" Text="update" />
<asp:Button ID="Button4" runat="server" Text="cancel" />
</EditItemTemplate>
<FooterTemplate>
<asp:Button ID="btnadd" runat="server" Text="add new row" CommandName="add" />
</FooterTemplate>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="edit" />
<asp:Button ID="Button2" runat="server" Text="delete" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<br />
</div>
</form>
</body>
</html>
c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace joins
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
grid();
}
}
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\MyPractice\joins\joins\App_Data\Database1.mdf;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
public void grid()
{
con.Open();
cmd.Connection = con;
cmd.CommandText = "sp_neetha";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@flag", "select");
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
da.Fill(dt);
con.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
grid();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values["id"].ToString());
TextBox txtid = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txteditid");
TextBox txtschool = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txteditscool");
TextBox txtoffs = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtoffice");
con.Open();
cmd.Connection = con;
cmd.CommandText = "sp_neetha";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", txtid.Text);
cmd.Parameters.AddWithValue("@school", txtschool.Text);
cmd.Parameters.AddWithValue("@office", txtoffs.Text);
cmd.Parameters.AddWithValue("@flag","update");
cmd.ExecuteNonQuery();
GridView1.EditIndex = -1;
}
protected void Button6_Click(object sender, EventArgs e)
{
grid();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id= Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values["id"].ToString());
con.Open();
cmd.Connection = con;
cmd.CommandText = "sp_neetha";
cmd.CommandType = CommandType.StoredProcedure;
TextBox txtid = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txteditid");
cmd.Parameters.AddWithValue("@id",txtid.Text);
cmd.Parameters.AddWithValue("@flag", "delete");
int result = cmd.ExecuteNonQuery();
if (result==1)
{
grid();
}
con.Close();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName=="add")
{
TextBox txtid = (TextBox)GridView1.FooterRow.FindControl("txteditfooter");
TextBox txtschool = (TextBox)GridView1.FooterRow.FindControl("txteditfooterschool");
TextBox txtoffs = (TextBox)GridView1.FooterRow.FindControl("txteditfooter");
con.Open();
cmd.Connection = con;
cmd.CommandText = "sp_neetha";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", txtid.Text);
cmd.Parameters.AddWithValue("@school", txtschool.Text);
cmd.Parameters.AddWithValue("@office", txtoffs.Text);
cmd.Parameters.AddWithValue("@flag", "insert");
int result = cmd.ExecuteNonQuery();
if(result==1)
{
GridView1.EditIndex = -1;
grid();
}
con.Close();
}
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
grid();
}
}
}