我将统计结果显示到了gridview里,统计的SQL语句是写在存储过程里的。我按钮单击统计结果如下:
行业        数量
A           10
B           14
C           89
D           3如果统计出来之后,能否在最后一行手动加上
合计         116
如何实现?是在代码里手动添加一行合计呢
还是在统计的存储过程里加上合计结果
我的统计的代码:
Set @consql=',COUNT(*) as 数量 FROM tb_wasteSource WHERE 1=1 '
if(@type=1)
  Begin
    Set @sql = 'SELECT UseUnit as 使用单位'
    Set @sqlr = ' GROUP BY UseUnit'
  End
SET @sql=@sql+@consql+@sWhere+@sqlr
EXEC(@sql)

解决方案 »

  1.   


    http://wenku.baidu.com/view/0d777b0316fc700abb68fc4a.html
    这里有各种样式,其中就有你需要的效果!
      

  2.   


    不是什么“最后一行”。正规的概念,是在FooterTemplate中设计合计行。在这个页脚模板中,不但可以显示合计,也可以自定义新增行等等。
      

  3.   

    前提:设置属性ShowFooter="True"行业    数量
    A        10
    B        14
    C        89
    D        3
    合计   116<asp:GridView ID="GridView1" runat="server" GridLines="Horizontal" ShowFooter="True" DataKeyNames="productid"  OnRowDataBound="GridView1_RowDataBound">
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <Columns>
                 <asp:BoundField DataField="productid" HeaderText="行业" ReadOnly="True" />
                <asp:BoundField DataField="productname" HeaderText="数量" ReadOnly="True" />
           </Columns>
    </asp:GridView>
    在gridview中将统计的结果在页脚显示出来,主要是触发RowDataBound事件。
    //生成项时触发
    private double sum = 0;
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
         if (e.Row.RowIndex > -1)
         {
             sum += Convert.ToDouble(e.Row.Cells[1].Text);
         }
         else if(e.Row.RowType==DataControlRowType.Footer)          // 判断当前项是否为页脚
         {
             e.Row.Cells[0].Text = "合计";
             e.Row.Cells[1].Text = sum.ToString();
         }
    }
      

  4.   

    http://kb.cnblogs.com/a/446444/http://www.cnblogs.com/sijin/articles/1435236.html