Hi sindiyen,
Please take reference the below code and correct your code.
SQL
CREATE TABLE CustomerStatus
(
EmployeeID INT,
Name VARCHAR(20),
IsSendBack Varchar(10)
)
GO
HTML
<asp:GridView ID="gvCustomerStatus" runat="server" CssClass="form-control" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lbIsSendtback" runat="server" Text="Send" OnClick="Send"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Namespaces
C#
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string constr = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM CustomerStatus WHERE IsSendBack IS NULL", con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
da.Fill(dt);
this.gvCustomerStatus.DataSource = dt;
this.gvCustomerStatus.DataBind();
}
}
}
}
protected void Send(object sender, EventArgs e)
{
LinkButton lbSend = (LinkButton)sender;
GridViewRow row = lbSend.NamingContainer as GridViewRow;
int customerId = Convert.ToInt32(row.Cells[0].Text);
string constr = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("UPDATE CustomerStatus SET IsSendback =@IsSendBack WHERE CustomerId = @CustomerId", con))
{
con.Open();
cmd.Parameters.AddWithValue("@IsSendBack", "true");
cmd.Parameters.AddWithValue("@CustomerId", customerId);
cmd.ExecuteNonQuery();
con.Close();
}
}
this.BindGrid();
}
Screenshot
