每当 asp.net 中的点击事件触发时,将行一一放入 gridView
Put rows into gridView one by one whenever on click event fires in asp.net
我想在单击按钮时在网格中添加数据(或行)。
所以按钮后面的代码就像每当用户单击按钮时参数化调用的存储过程,该存储过程从 SQL 服务器获取数据。所以每次只会得到一条记录。
问题是,当用户单击按钮时,它成功获得第一行,然后当用户再次单击按钮时,它将覆盖行 [0] 中存在的数据。
我希望每当用户再次点击时。下一行的数据和前一行的数据保持不变。
点击按钮方法:
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)
{
}
}
呼叫 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)
{
}
}
我想在单击按钮时在网格中添加数据(或行)。
所以按钮后面的代码就像每当用户单击按钮时参数化调用的存储过程,该存储过程从 SQL 服务器获取数据。所以每次只会得到一条记录。
问题是,当用户单击按钮时,它成功获得第一行,然后当用户再次单击按钮时,它将覆盖行 [0] 中存在的数据。
我希望每当用户再次点击时。下一行的数据和前一行的数据保持不变。
点击按钮方法:
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)
{
}
}
呼叫 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)
{
}
}