日期:2014-05-18  浏览次数:20439 次

请教高手:在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行
每次跟踪到这里,看一下值是多少.

另外注意一下那个变量是否为全局变量.是不是被重新赋值了.