如何在ASP.NET的gridview中计算总价
我在ASP.NET中有一个gridview,在该gridview中有一列总价。我想显示gridview下所有行的总价,并且如果我要更新或删除任何行,那么它应该更新该计算总价。 有谁能帮忙吗。如何在ASP.NET的gridview中计算总价,asp.net,Asp.net,我在ASP.NET中有一个gridview,在该gridview中有一列总价。我想显示gridview下所有行的总价,并且如果我要更新或删除任何行,那么它应该更新该计算总价。 有谁能帮忙吗。 提前感谢。HTML标记由ASP.Net GridView组成。ShowFooter属性设置为true,以便显示GridView的页脚行。 已为GridView启用分页,并且已分配OnPageIndexChanging事件处理程序 <asp:GridView ID="GridView1" runat="
提前感谢。HTML标记由ASP.Net GridView组成。ShowFooter属性设置为true,以便显示GridView的页脚行。 已为GridView启用分页,并且已分配OnPageIndexChanging事件处理程序
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowPaging="true"
OnPageIndexChanging="OnPageIndexChanging" ShowFooter="true">
<Columns>
<asp:BoundField DataField="OrderID" HeaderText="Order ID" ItemStyle-Width="60" />
<asp:BoundField DataField="ProductName" HeaderText="Product Name" ItemStyle-Width="210" />
<asp:BoundField DataField="Price" HeaderText="Price" ItemStyle-Width="60" DataFormatString="{0:N2}"
ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
string query = "SELECT TOP 30 OrderID,";
query += "(SELECT ProductName FROM Products WHERE ProductID = details.ProductId) ProductName,";
query += "(Quantity * UnitPrice) Price";
query += " FROM [Order Details] details";
query += " ORDER BY OrderID";
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(query))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
//Calculate Sum and display in Footer Row
decimal total = dt.AsEnumerable().Sum(row => row.Field<decimal>("Price"));
GridView1.FooterRow.Cells[1].Text = "Total";
GridView1.FooterRow.Cells[1].HorizontalAlign = HorizontalAlign.Right;
GridView1.FooterRow.Cells[2].Text = total.ToString("N2");
}
}
}
}
}
发布一些您已经尝试过的代码dGridView RowDataBound事件将解决您的问题。看见网上也有类似的教程,你只需在上面搜索即可。嗨,Tripurari,谢谢你的回答,但我想要的总和是gridview列,还有一个div,我需要在其中显示总和,该div在gridview之外,我也在使用实体框架。创建一个对象&在该对象中存储总计,并显示在下面的网格中。受保护的无效GridView1_RowDataBound1对象发送方,GridViewRowEventArgs e{//检查当前行是否为datarow,如果e.row.RowType==DataControlRowType.datarow{//添加列totalvalue+=Convert.ToInt32DataBinder.Evale.Row.DataItem的值,数量;}