У меня есть DataGrid получения привязано к набору данных, и я хочу, чтобы отобразить средний результат в сноске для столбца заселенного с целыми числами.
Путь я полагаю, что есть 2 способа я могу думать:
1. Использование источника , Люк
В коде , где я звоню DataGrid.DataBind (), используйте метод DataTable.Compute () ( или в моем случае DataSet.DataTable (0) .Compute () ). Например:
Dim strAverage = DataTable.Compute(Avg(ColumnName), )
Но как только у меня есть это, как я могу вставить его в сноске?
2. « Bound для Славы»
Использование события DataGrid.ItemDataBound и вычисление нарастающего итога с каждым ListItemType.Item и ListItemType.AlternatingItem, наконец , отображая в ListItemType.Footer. Например:
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
Это просто чувствует себя неправильно, и я должен убедиться, что runningTotal сбрасывается на каждом DataBind.
Есть ли способ лучше?