我正在做一个在线订购系统。我想检查该项目是否存在于 gridview 中,因此它不会添加另一行或有多行(它将更新数量和价格)。网格视图正在使用 dgvOrder.Rows[i].Cells[2].Text 进行更新,但我的问题是如何更新数据表。
bool isExist = false;
if (Session["dtInSession"] != null)
dt = (DataTable)Session["dtInSession"]; //Getting datatable from session
for (int i = 0; i < dgvOrder.Rows.Count; i++)
{
if (dgvOrder.Rows[i].Cells[0].Text == b.ID)
{
isExist = true;
dgvOrder.Rows[i].Cells[2].Text = Convert.ToString(Convert.ToInt32(dgvOrder.Rows[i].Cells[2].Text) + 1);
dgvOrder.Rows[i].Cells[3].Text = Convert.ToString(Convert.ToInt32(dgvOrder.Rows[i].Cells[2].Text) * price);
}
}
if (!isExist)
{
DataRow dr = dt.NewRow();
dr["pCode"] = b.ID;
dr["desc"] = description;
dr["qty"] = "1";
dr["price"] = price;
dt.Rows.Add(dr);
dgvOrder.DataSource = dt;
dgvOrder.DataBind();
}
因为我打算使用会话变量传递数据表。
Session["orders"] = dt;
Response.Redirect("FinalizeOrder.aspx");
传递数据后,代码正在运行,但每个项目只有 1 个数量正在传递。
任何人都可以在这个问题上帮助我吗?