我正在做一個在線訂購系統。我想檢查該項目是否存在於gridview中,因此它不會添加另一行或多行(它會更新數量和價格)。 gridview正在更新使用dgvOrder.Rows [i] .Cells [2] .Text但我的問題是如何更新數據表。如何在gridview中添加和更新行asp.net
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個數量。
任何人都可以幫助我解決這個問題嗎?
所以'isExist'是越來越設置爲true,但它不是遞增的數量?它顯示爲在網格中增加了嗎? – 2013-03-10 10:08:52
桌子有多大?除非它很小,否則我認爲這不是最好的主意。 – Gorgsenegger 2013-03-10 10:15:12
isExist的目的是檢查項目是否在gridview中。 gridview正在更新,但數據表不更新。 – MMakati 2013-03-14 16:06:31