2010-12-03 9 views
0

Je suis capable de faire une somme entière et de mettre le total dans une colonne, mais si je veux obtenir la moyenne de tous les nombres dans la colonne?mettre la moyenne de la colonne en pied de page, je peux obtenir la somme

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 

côté 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>   

Répondre

1

This article examine quelques approches de ce problème et vous donne quelques exemples de code. Celui que j'ai utilisé dans le passé est d'avoir quelques champs privés dans le code-behind: un pour le compte et un pour la somme. Vous pouvez ensuite les incrémenter dans l'événement RowDataBound de GridView lorsque la ligne en question est une ligne de données. Quand c'est une ligne de pied de page, vous calculez la moyenne et l'affichez dans la bonne cellule.

+0

Je l'ai eu, c'était simple puisque mes autres colonnes étaient calculées par des fonctions que j'avais juste la fonction suivante: function1/function2 – MyHeadHurts