データグリッドがデータセットにバインドされており、整数が入力された列のフッターに平均結果を表示したいと考えています。
私が考える方法は、私が考えることができる2つの方法があります:
1.「ソースを使用してください、ルーク」
DataGrid.DataBind() を呼び出しているコードで、 DataTable.Compute() メソッド (または、私の場合は DataSet.DataTable(0).Compute() ) を使用します。例えば:
Dim strAverage = DataTable.Compute("Avg(ColumnName)", "")
しかし、これを取得したら、どうすればそれをフッターに挿入できますか?
2.「Bound for Glory」
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
これは間違っているように感じます。さらに、すべての DataBind で runningTotal がリセットされていることを確認する必要があります。
より良い方法はありますか?