Tengo una cuadrícula de datos vinculada a un conjunto de datos, y quiero mostrar el resultado promedio en el pie de página de una columna poblada con enteros.Cuadrícula de datos: calcular la media o la suma de la columna en el pie de página
La forma en que figura, hay 2 maneras que se me ocurren:
1. "utilizan la Fuente, Lucas"
En el código donde estoy llamando DataGrid.DataBind(), utilice el Método DataTable.Compute() (o en mi caso DataSet.DataTable (0) .Compute()). Por ejemplo:
Dim strAverage = DataTable.Compute("Avg(ColumnName)", "")
Pero una vez que tengo esto, ¿cómo puedo insertarlo en el pie de página?
2. "Bound for Glory"
Utilizando el evento DataGrid.ItemDataBound, y calcular un total acumulado de todos los ListItemType.Item y ListItemType.AlternatingItem, finalmente, se presentan en ListItemType.Footer. Por ejemplo:
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem
runningTotal += CInt(e.Item.Cells(2).Text)
Case ListItemType.Footer
e.Item.Cells(2).Text = runningTotal/DataGrid.Items.Count
End Select
Esto simplemente se siente mal, además tendría que asegurarme de que el valor de RunningTotal se reinicie en cada DataBind.
¿Hay una manera mejor?