GridView页脚添加合计字段的两种方法

第一种:直接在aspx中实现

<asp:GridView ID="GridView1" ShowFooter="true" DataKeyNames="Id" AutoGenerateColumns="false"
    runat="server" DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="Id" HeaderText=" Id" />
        <asp:BoundField DataField="Name" FooterText="合计" HeaderText="Name" />
        <asp:TemplateField HeaderText="Unit Price" FooterStyle-Font-Bold="True">
            <ItemTemplate>
                <%# GetUnitPrice(decimal.Parse(Eval("UnitPrice").ToString())).ToString("N2")  %>
            </ItemTemplate>
            <FooterTemplate>
                <%# GetTotal().ToString("N2") %>
            </FooterTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
<script runat="server">
    decimal TotalUnitPrice;
    decimal GetUnitPrice(decimal Price)
    {
        TotalUnitPrice += Price;
        return Price;
    }
    decimal GetTotal()
    {
        return TotalUnitPrice;
    }
</script>

第二种方式:在cs文件中实现

int totalNumber, iNumber;
double totalMoney, iMoney;

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if(e.Row.RowType   ==   DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.EmptyDataRow)   
          {
              DataRowView   drvBasicCountInfor   =   (DataRowView)e.Row.DataItem;   
              iNumber   =   Convert.ToInt32(drvBasicCountInfor[7]);   
              iMoney   =   Convert.Double(drvBasicCountInfor[8]); 
              //生成总计
              totalNumber += iNumber;
              totalMoney += iMoney; 
          }   
          if(e.Row.RowType   ==   DataControlRowType.Footer)  //页脚 
          {   
              e.Row.Cells[6].Text   =   "总计";
              e.Row.Cells[7].Text = string.Format("商品种类:{0}",totalNumber);
              e.Row.Cells[8].Text = string.Format("合计金额:{0}",totalMoney);   
          }
    }

需要设置GridView的ShowFooter=true .

转载于:https://www.cnblogs.com/neohdy/archive/2013/02/14/2911157.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值