如何计算总价?

u010890621 2013-06-17 04:15:48
这是我的代码,订购相应产品的总价已经计算出来了,但是我想得出的是如果买一个产品是一个产品的总价,买两个产品显示的是两个产品的总价而不是第二个产品的总价,要怎么编写代码?
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
DataTable Cart = new DataTable();
if (e.CommandName == "select")
{
if (Session["shop"] == null)//如果没有购物车数据的话
{
Cart.Columns.Add("编号", typeof(int));
Cart.Columns.Add("名称", typeof(string));
Cart.Columns.Add("规格", typeof(string));
Cart.Columns.Add("单价", typeof(double));
Cart.Columns.Add("数量", typeof(int));
Cart.Columns.Add("总价", typeof(double));
Session["shop"] = Cart;//把购物车的虚拟表结构存储入session
}

Cart = (DataTable)Session["shop"];//从session中取出之前的购物数据

int index = Convert.ToInt32(e.CommandArgument);//获取选择行的id号
GridViewRow row = GridView1.Rows[index];//获取行
int id = Convert.ToInt32(row.Cells[0].Text);//商品ID
string name = row.Cells[1].Text;//商品名称
string size = row.Cells[2].Text;//商品规格
string p = row.Cells[3].Text;//
double price = double.Parse(p);//商品单价
int count = Convert.ToInt32(((TextBox)row.FindControl("TextBox1")).Text);//商品数量

//添加一行购物数据
DataRow rr = Cart.NewRow();//定义一个新行
rr["编号"] = id;
rr["名称"] = name;
rr["规格"] = size;
rr["单价"] = price;
rr["数量"] = count;
rr["总价"] = price * count;
Cart.Rows.Add(rr);//把这行购物数据添加到Cart中

Session["shop"] = Cart;//重新存储到session中
}
}
}
...全文
1211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Banianer 2013-06-17
  • 打赏
  • 举报
回复
查询的时候将价格字段 sum(价格字段)as 总价字段名 就可以了。
  • 打赏
  • 举报
回复
引用 楼主 u010890621 的回复:
这是我的代码,订购相应产品的总价已经计算出来了,但是我想得出的是如果买一个产品是一个产品的总价,买两个产品显示的是两个产品的总价而不是第二个产品的总价,要怎么编写代码? protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { DataTable Cart = new DataTable(); if (e.CommandName == "select") { if (Session["shop"] == null)//如果没有购物车数据的话 { Cart.Columns.Add("编号", typeof(int)); Cart.Columns.Add("名称", typeof(string)); Cart.Columns.Add("规格", typeof(string)); Cart.Columns.Add("单价", typeof(double)); Cart.Columns.Add("数量", typeof(int)); Cart.Columns.Add("总价", typeof(double)); Session["shop"] = Cart;//把购物车的虚拟表结构存储入session } Cart = (DataTable)Session["shop"];//从session中取出之前的购物数据 int index = Convert.ToInt32(e.CommandArgument);//获取选择行的id号 GridViewRow row = GridView1.Rows[index];//获取行 int id = Convert.ToInt32(row.Cells[0].Text);//商品ID string name = row.Cells[1].Text;//商品名称 string size = row.Cells[2].Text;//商品规格 string p = row.Cells[3].Text;// double price = double.Parse(p);//商品单价 int count = Convert.ToInt32(((TextBox)row.FindControl("TextBox1")).Text);//商品数量 //添加一行购物数据 DataRow rr = Cart.NewRow();//定义一个新行 rr["编号"] = id; rr["名称"] = name; rr["规格"] = size; rr["单价"] = price; rr["数量"] = count; rr["总价"] = price * count; Cart.Rows.Add(rr);//把这行购物数据添加到Cart中 Session["shop"] = Cart;//重新存储到session中 } } }
你可以在Cart中加一个总的价格啊是所有购买物品的总价
u010890621 2013-06-17
  • 打赏
  • 举报
回复
能再具体点吗?在哪里怎么改?
  • 打赏
  • 举报
回复


                double TotalPrice = (double)Cart.Compute("sum(总价)","");
好基友一被子 2013-06-17
  • 打赏
  • 举报
回复
我看你代码的说明好像是把每次购物数据都存到session里面了么,最后你再汇总下session里面的价格不就可以了?

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧