当前位置:编程学习 > C#/ASP.NET >>

如何合计分页GridView全部记录

我要在分页显示的GridView 页脚显示这个GridView某列全部记录的合值,而不只是本页的记录的合值,有什么办法可以取到呢,逻辑层和数据层都是调用现在成的,看不到DataTable 给gridveiw的赋值
代码为
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns =False Height="254px" OnRowDataBound="GridView1_RowDataBound" ShowFooter="True" Width="757px" AllowPaging="True" AllowSorting="True" PageSize="15">
</asp:GridView>

<usc:GridPager ID="GridPageTool" GridID="GridView1" ObjName="dataTable_Data" runat="server" EnableViewState="true" />
--------------------编程问答-------------------- 哪个字段?!
建议直接要查询时得出,就是向数据库查询,这才是合理而且高效的. --------------------编程问答-------------------- 你可以在逻辑层里单独编写一个合计值属性,前台调用它。
也可以查看你用的那个第三方分页控件,看看它有没有有用的属性。比如总数什么的。这个我没用过不了解。 --------------------编程问答-------------------- Table.Compute("Sum()", "") --------------------编程问答-------------------- 作为页面属性,取数据时存储,显示时,显示就可以了。 --------------------编程问答-------------------- 同意一楼,在数据库查时查出。 --------------------编程问答-------------------- QUOTE:同意一楼,在数据库查时查出。
--------------------------------
要说"同意竹子"*_* --------------------编程问答--------------------

   private double sum = 0;

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
     if (e.Row.RowIndex >= 0)
        {
            sum += Convert.ToDouble(e.Row.Cells[6].Text.Replace("¥", ""));

        }
        else if (e.Row.RowType == DataControlRowType.Footer)
        {
            e.Row.Cells[0].Text = "合计:";
            e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[1].Text = sum.ToString("C");
            e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[0].ColumnSpan = 5;
            e.Row.Cells[1].Text = sum.ToString("C")+"(元)";
        

        } }
--------------------编程问答--------------------

 上面是本页的一改ok了.  

    private double sum = 数据库中取出赋值;
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
      if (e.Row.RowType == DataControlRowType.Footer)
        {
            e.Row.Cells[0].Text = "合计:";
            e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[1].Text = sum.ToString("C");
            e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[0].ColumnSpan = 5;
            e.Row.Cells[1].Text = sum.ToString("C")+"(元)";
        

        } }
--------------------编程问答-------------------- 恩 同意一楼的 在数据库中查出来是最快的
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,