如何在ASP.NET的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="

我在ASP.NET中有一个gridview,在该gridview中有一列总价。我想显示gridview下所有行的总价,并且如果我要更新或删除任何行,那么它应该更新该计算总价。 有谁能帮忙吗。
提前感谢。

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的值,数量;}