简体   繁体   English

每当单击事件在asp.net中触发时,将行逐一放入gridView

[英]Put rows into gridView one by one whenever on click event fires in asp.net

I want to add data(or row) in the grid whenever I click on button. 我想在单击按钮时在网格中添加数据(或行)。

So code behind of button is like whenever a user click on button a parameterize the stored procedure called which gets the data from SQL Server. 因此,按钮后面的代码就像每当用户单击按钮时,都会对称为“存储过程”的参数进行参数化,该存储过程将从SQL Server获取数据。 So each time it will get only one record. 因此,每次只会得到一个记录。

Problem is that when user click on button it successfully get first row and then again when user click on button it will override the data present in row[0]. 问题是,当用户单击按钮时,它成功获得第一行,然后再次单击用户按钮,它将覆盖行[0]中存在的数据。

I want whenever user click another time. 我想每当用户单击其他时间。 the data comes in next row and data present in previous row remains same. 数据进入下一行,而前一行中的数据保持不变。

On Click button method: 单击按钮方法:

protected void Button5_Click(object sender, EventArgs e)
{
    getLotteryApplications();
}

private void getLotteryApplications()
{
        try
        {
            int serialNumber = 0, preference = 0;

            if (SerialNum.Text != "0")
            {
                serialNumber = Int32.Parse(SerialNum.Text.ToString());
            }

            if (ddlPreferenceLottery.SelectedValue != "0")
            {
                preference = Int32.Parse(ddlPreferenceLottery.SelectedValue.ToString());
            }

            DataTable dt = DL_School_Detail.getLotteryApplications(serialNumber, preference);
            selectedStudentView.DataSource = dt;
            selectedStudentView.DataBind();
        }
        catch (Exception ex)
        {
        }
}

Calling class: 通话类:

public static DataTable getLotteryApplications(int serial,int preference)
{
    DataTable dt = new DataTable();

    try
    {
        using (SqlConnection con = new SqlConnection(Connect.getConnection()))
        {
            using (SqlCommand cmd = new SqlCommand("[dbo].[GetLotterySelectedCandidates]", con))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@serialNumber", serial);
                cmd.Parameters.AddWithValue("@preference", preference);

                using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                {
                    using (DataSet ds = new DataSet())
                    {
                        da.Fill(ds);
                        dt = ds.Tables[0];
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
    }

    return dt;
}
private void AddNewRowToGrid()
    {
           try
          {
            int serialNumber = 0, preference = 0;
            if (SerialNum.Text != "0")
            {
                serialNumber = Int32.Parse(SerialNum.Text.ToString());
            }
            if (ddlPreferenceLottery.SelectedValue != "0")
            {
                preference = Int32.Parse(ddlPreferenceLottery.SelectedValue.ToString());
            }
            DataTable griddt;
            DataTable griddt2;
            if (ViewState["Row"] != null)
            {
                griddt = (DataTable)(ViewState["Row"]);
                DataRow dr = null;
                if (griddt.Rows.Count > 0)
                {
                    griddt2 = DL_School_Detail.getLotteryApplications(serialNumber, preference);
                    griddt.Merge(griddt2, true, MissingSchemaAction.Ignore);
                    if (griddt.Rows.Count > 0)
                    {
                        ViewState["Row"] = griddt;
                        ContentPlaceHolder1_selectedStudentView.DataSource = griddt;

                        ContentPlaceHolder1_selectedStudentView.DataBind();
                    }
                    else
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('कृपया सही सीरियल नंबर और  प्राथमिकता चुने !')", true);
                    }
                }

            }
            else
            {
                DataTable dt = DL_School_Detail.getLotteryApplications(serialNumber, preference);
                //dt.Merge(griddt, true, MissingSchemaAction.Ignore);
                if (dt.Rows.Count > 0)
                {
                    ViewState["Row"] = dt;
                    ContentPlaceHolder1_selectedStudentView.DataSource = ViewState["Row"];

                    ContentPlaceHolder1_selectedStudentView.DataBind();
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('कृपया सही सीरियल नंबर और  प्राथमिकता चुने !')", true);
                }
            }
        }
        catch (Exception ex)
        {

        }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 网站在asp.net C#网站中启动时第一次且仅触发一次的事件 - Event which fires first and only one time when website starts in an asp.net c# website 在Webform(ASP.NET)中将选定的行从一个GridView传输到另一个GridView - Transfer selected rows from one GridView to another GridView in webform (ASP.NET) 单击更新按钮后,asp.net C#行命令中的Gridview不触发 - My Gridview in asp.net C# row command doesn't fires after update button click 通过GridView ASP.NET禁用单击事件 - Disable click event over GridView ASP.NET 如何在Asp.net Gridview列中为Checkbox添加事件 - How to add event for Checkbox click in Asp.net Gridview Column 在ASP.NET GridView控件中未触发按钮单击事件 - Button click event is not firing in asp.net gridview control ASP.NET Gridview ButtonField onclick触发包含行的onclick事件 - ASP.NET Gridview ButtonField onclick fires containing row's onclick event 如何通过使用asp.net上的会话在GridView中在单击按钮时从一页显示数据到另一页 - How to display data from one page to another in gridview on button click by using session on asp.net 在ASP.NET C#应用程序的GridView中一对一关系 - Relationship one to one in GridView in asp.net C# application 如何在驻留在ASP.NET GridView中的ASP.NET LinkBut​​ton的click事件中显示消息? - How to disply message upon the click event of ASP.NET LinkButton residing inside ASP.NET GridView?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM