将列的平均值放在页脚中,我可以得到总和

时间:2010-12-03 15:54:49

标签: asp.net vb.net

我能够将整个列相加并将总数放在一列中,但是如果我想得到列中所有数字的平均值呢?

    Dim paxaverage As Decimal = 0.0
        Function GetAverage(ByVal hope As Decimal) As Decimal
'this is where i am stuck
            paxaverage += hope / saods.Tables("salesasoftable")Rows.Count
            Return hope
        End Function
        Function Getaverage1() As Decimal
            Return paxaverage
        End Function

Asp方面

<asp:TemplateField HeaderText="Remaining PAX">
<ItemTemplate>
 <%#GetAverage(Decimal.Parse(Eval("RemainingPax").ToString())).ToString("N0")%>
</ItemTemplate>
<FooterTemplate>
<%#GetAverage1().ToString("N0")%>
</FooterTemplate>
    <FooterStyle Font-Bold="True" />
</asp:TemplateField>           

1 个答案:

答案 0 :(得分:1)

This article讨论了解决此问题的几种方法,并为您提供了一些示例代码。我过去使用的那个是在页面代码后面有一些私有字段:一个用于计数,一个用于总和。然后,当有问题的行是数据行时,您可以在GridView的RowDataBound事件中递增这些值。当它是页脚行时,您计算平均值并将其显示在右侧单元格中。