请教高手:在GridView的Footer中增加总计的问题?
我想在GridView中的Footer页脚中增加几个总计值,从网上找到了一些C#的方法,翻译成VB了,如下:
Dim totalNumber, iNumber As Integer
Dim totalMoney, iMoney As Double
Protected Sub OnRow_Bound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Or e.Row.RowType = DataControlRowType.EmptyDataRow Then
Dim dv As DataRowView = CType(e.Row.DataItem, DataRowView)
iNumber = Convert.ToInt32(dv(2))
iMoney = Convert.ToDouble(dv(3))
'生成总计
totalNumber += iNumber
totalMoney += iMoney
End If
If e.Row.RowType = DataControlRowType.Footer Then '页脚
e.Row.Cells(1).Text = "总计 "
e.Row.Cells(2).Text = String.Format( "数量合计{0} ", totalNumber)
e.Row.Cells(3).Text = String.Format( "金额合计{0} ", totalMoney) End If
End Sub
现在Footer中有值显示了,但是计算出来的结果却是一个莫名其妙的数值,完全不是一个字段所有值的累加,请高手帮忙看一看
------解决方案--------------------我不太习惯你这方式取合计,我一般是直接把e.Row.Text转换成Int相加.
但是你的代码我并没有看出问题来.
请加断点判断.
在iNumber = Convert.ToInt32(dv(2))行.
和
totalNumber += iNumber行
每次跟踪到这里,看一下值是多少.
另外注意一下那个变量是否为全局变量.是不是被重新赋值了.