[GridView]在footer加上某欄的Total合計

  • 20238
  • 0
  • 2008-12-29

[GridView]在footer加上某欄的Total合計

在使用GridView的時候,常需要針對某一欄進行合計或平均等運算。

這個時候只需要在需要的欄位底下加上FooterText或footertemplate,再去bind對應的欄位資料,或呼叫function即可。

aspx上,GridView的設定如下:


        <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>

可直接在aspx上註冊所需之function:(如果為Code Behind,記得要加上public)


<script runat="server">
    decimal TotalUnitPrice;
    decimal GetUnitPrice(decimal Price)
    {
        TotalUnitPrice += Price;
        return Price;
    }
    decimal GetTotal()
    {
        return TotalUnitPrice;
    }
</script>

以此類推,要達到計算平均值或特殊的資料,只需要修改function內容即可。

PS:此範例還沒對Data為Null做處理。


或許您會對下列培訓課程感興趣:

  1. 2021/1/9:【針對遺留代碼加入單元測試的藝術】202101 - 台北
  2. 2021/1/10:【極速開發+】 202101 台北
  3. 2021/2/20~2021/2/21:【演化式設計】測試驅動開發與持續重構 202102

想收到第一手公開培訓課程資訊,或想詢問企業內訓、顧問、教練、諮詢服務的,請洽 Facebook 粉絲專頁:91敏捷開發之路