我有一個datagrid綁定到數據集,並且我想在填充整數的列的頁腳中顯示平均值。Datagrid:計算Footer中的列的平均值或求和值
我圖的方式,有2種方式,我能想到的:
1.「使用來源,盧克」
在我打電話DataGrid.DataBind(代碼),使用DataTable.Compute()方法(或在我的情況DataSet.DataTable(0).Compute())。例如:
Dim strAverage = DataTable.Compute("Avg(ColumnName)", "")
但是,一旦我有這個,我怎麼能插入到頁腳?
2.「束縛爲光」
使用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
這只是感覺錯了,再加上我將不得不確保runTotal在每個DataBind上重置。
有沒有更好的方法?