Thanks. Here are the relevant events in my project. Please help why the Gridview does not come out upon saving the Header record.
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
BindData();
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
private void BindData()
{
int user_id = Convert.ToInt32(lb_userid.Text);
string strQuery = "select user_id,rec_id,rec_desc,change_date" +
" from tab3 where user_id=@user_id";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.Add("@user_id", SqlDbType.Int).Value = user_id;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
Response.Redirect(Request.Url.AbsoluteUri);
}
private DataSet GetData(SqlCommand cmd)
{
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn2"].ConnectionString);
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds;
}
protected void AddNewRec(object sender, EventArgs e)
{
int user_id = Convert.ToInt16(lb_userid.Text);
int rec_id = Convert.ToInt16(((TextBox)GridView1.FooterRow.FindControl("txtintid")).Text);
string rec_desc = ((TextBox)GridView1.FooterRow.FindControl("txtintdesc")).Text;
DateTime change_date = Convert.ToDateTime(((TextBox)GridView1.FooterRow.FindControl("txtchangedate")).Text);
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn2"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into tab3(user_id, rec_id, rec_desc, change_date) " +
"values(@user_id, @rec_id, @rec_desc, @change_date);" +
"select rec_desc,ContactName,change_date from tab3 where user_id=@user_id2";
cmd.Parameters.Add("@user_id", SqlDbType.Int).Value = user_id;
cmd.Parameters.Add("@rec_id", SqlDbType.Int).Value = rec_id;
cmd.Parameters.Add("@rec_desc", SqlDbType.VarChar).Value = rec_desc;
cmd.Parameters.Add("@change_date", SqlDbType.DateTime).Value = change_date;
cmd.Parameters.Add("@user_id2", SqlDbType.Int).Value = user_id;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex] as GridViewRow;
int user_id = Convert.ToInt16(lb_userid.Text);
TextBox txtintid = row.FindControl("txtintid") as TextBox;
TextBox txtintdesc = row.FindControl("txtintdesc") as TextBox;
TextBox txtchangedate = row.FindControl("txtchangedate") as TextBox;
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn2"].ConnectionString))
{
string sql = "Update tab3 set rec_id = @rec_id,rec_desc=@rec_desc, change_date= @change_date" + " where user_id=@user_id and rec_id=@rec_id2";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue(
"@rec_id", Convert.ToInt16(txtintid.Text));
cmd.Parameters.AddWithValue(
"@rec_desc", txtintdesc.Text.Trim());
cmd.Parameters.AddWithValue(
"@change_date", Convert.ToDateTime(txtchangedate.Text));
cmd.Parameters.AddWithValue(
"@user_id", user_id);
cmd.Parameters.AddWithValue(
"@rec_id2", Convert.ToInt16(txtintid.Text));
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
lb_msg2.Text = "Record updated successfully !";
GridView1.EditIndex = -1;
this.PopulateData();
}
protected void DeleteRec(object sender, EventArgs e)
{
int user_id = Convert.ToInt16(lb_userid.Text);
LinkButton lnkRemove = (LinkButton)sender;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn2"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "delete from tab3 where " +
"user_id=@user_id and rec_id=@rec_id;" +
"select user_id,rec_id,rec_desc,change_date from tab3 where user_id=@user_id2";
cmd.Parameters.Add("@user_id", SqlDbType.Int).Value = user_id;
cmd.Parameters.Add("@rec_id", SqlDbType.Int).Value
= lnkRemove.CommandArgument;
cmd.Parameters.Add("@user_id2", SqlDbType.Int).Value = user_id;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
private void PopulateData()
{
DataTable table = new DataTable();
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn2"].ConnectionString))
{
string sql = "Select * from tab3";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
using (SqlDataAdapter ad = new SqlDataAdapter(cmd))
{
ad.Fill(table);
}
}
}
GridView1.DataSource = table;
GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
this.PopulateData();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
this.PopulateData();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn2"].ConnectionString))
{
GridViewRow row = GridView1.Rows[e.RowIndex] as GridViewRow;
int user_id = Convert.ToInt16(lb_userid.Text);
TextBox txtintid = row.FindControl("txtintid") as TextBox;
string sql = "Delete from tab3" +
" where user_id=@user_id and rec_id=@rec_id2";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue(
"@user_id", user_id);
cmd.Parameters.AddWithValue(
"@rec_id", Convert.ToInt16(txtintid.Text));
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
lb_msg2.Text =
"Record has been deleted successfully !";
lb_msg2.ForeColor = System.Drawing.
Color.Red;
this.PopulateData();
}