【问题标题】:Newly added data is not showing in gridview新添加的数据未在 gridview 中显示
【发布时间】:2017-04-24 06:50:56
【问题描述】:

我有四个DropDownList 绑定到GridView
每当我填写DropDownList 时,数据就会显示在GridView 中。
在四个DropDownList 中,我已将两个TextBox 附加到两个DropDownList 以通过TextBox 添加新数据到DropDownList
该数据已存储在数据库中,但未显示在 GridView 中。

protected void Button4_Click(object sender, EventArgs e)
{
   int flag = 0;
   if (CheckBox1.Checked)
   {

       if (TextBox1.Text == "" && TextBox2.Text == "")
       {
           Label2.Text = "Enter Value !!";
           TextBox1.Focus();
           TextBox2.Focus();
           Label2.Visible = true;
           flag = 1;
       }
       else 
       {

       }

   }

   if (flag == 0 && CheckBox1.Checked == true)
   {
       String strConnString = ConfigurationManager.ConnectionStrings["CallcenterConnectionString"].ConnectionString;
       SqlConnection con = new SqlConnection(strConnString);
       SqlCommand cmd = new SqlCommand("insert into CallCenter..Loy_DispMstr (CallType, SUBFormat,Disposition, SubDisposition) values (@CallType, @Format,@Disposition, @SubDisposition)", con);
       cmd.Parameters.Add("@CallType", ddlCalltype.Text);
       cmd.Parameters.Add("@Format", ddlFormat.Text);
       cmd.Parameters.Add("@Disposition", TextBox1.Text);
       cmd.Parameters.Add("@SubDisposition", TextBox2.Text);

       con.Open();
       int i = cmd.ExecuteNonQuery();
       con.Close();


       Label2.Visible = CheckBox1.Checked;
       Label2.Text = " Your data is been saved in the database";
       Label2.ForeColor = System.Drawing.Color.ForestGreen;

   }
   else { }  
}

 protected void Button2_Click1(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindDispositionDetails();
        }



        SqlCommand cmd = new SqlCommand();
        SqlDataAdapter da = new SqlDataAdapter();
        DataTable dt = new DataTable();

        String strConnString = ConfigurationManager.ConnectionStrings["CallcenterConnectionString"].ConnectionString;

        using (var con = new SqlConnection(strConnString))
        {
            con.Open();
            using (cmd = new SqlCommand("ROMA_UserManagement", con))
            {
                cmd.Parameters.Add("@flag", SqlDbType.VarChar).Value = "0";
                cmd.Parameters.Add("@CallType", SqlDbType.VarChar).Value = ddlCalltype.SelectedValue.ToString();
                cmd.Parameters.Add("@Format", SqlDbType.VarChar).Value = ddlFormat.SelectedValue.ToString();
                cmd.Parameters.Add("@disposition", SqlDbType.VarChar).Value = ddlDisp.SelectedValue.ToString();
                cmd.Parameters.Add("@SubDisposition", SqlDbType.VarChar).Value = ddlSubdisp.SelectedValue.ToString();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.ExecuteNonQuery();
                da.SelectCommand = cmd;
                da.Fill(dt);

            }
            con.Close();
        }
        gvDetails.DataSource = dt;
        gvDetails.DataBind();
        gvDetails.Visible = true;


    }

【问题讨论】:

    标签: asp.net data-binding


    【解决方案1】:

    更新数据库后需要将Data绑定到GridView
    在insert语句后调用函数Button2_Click1(object sender, EventArgs e)

    protected void Button4_Click(object sender, EventArgs e)
    {
       .......
       ........
       Label2.Visible = CheckBox1.Checked;
       Label2.Text = " Your data is been saved in the database";
       Label2.ForeColor = System.Drawing.Color.ForestGreen;
       //add this line 
       Button2_Click1(sender, e);
     }
    

    【讨论】:

    • @user31121992 添加最后一行查看答案。
    • 我没有得到请详细说明
    • 您需要在代码中添加最后一行Button2_Click1(sender, e);
    • 为网格数据绑定创建一个单独的函数,并在将数据插入数据库后调用它。
    • 你能举个例子吗
    猜你喜欢
    • 2013-04-10
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多