以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这段代码竟然让程序直接退出了,什么情况?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62601)

--  作者:heying325
--  发布时间:2015/1/5 10:33:00
--  这段代码竟然让程序直接退出了,什么情况?
我的一个表的表头部分如图所示:

图片点击可在新窗口打开查看此主题相关图片如下:1111111111.jpg
图片点击可在新窗口打开查看
那个合计列并不是表达式列,我也不想设置表达式列!我在这个表的DataColChanged 的属性里面写了如下代码:
If e.DataCol.Name.Contains("月") Then
    Dim i As Double = 0
    For Each co As DataCol In e.DataTable.DataCols
        If co.Name.Contains("月") Then
            i = i + e.DataRow(co.Name)
        End If
    Next
    e.DataRow("月份_合计") = i
End If

然后我在表里一进行输入,整个程序就退出了!!


--  作者:heying325
--  发布时间:2015/1/5 10:35:00
--  
额。。已经知道原因了。。
--  作者:Bin
--  发布时间:2015/1/5 10:37:00
--  
死循环了.

月份输入值,触发DataColChanged事件 遍历所有月份列值相加,赋值给月份合计. 这时候又触发.DataColChanged 无限死循环

代码排除一下  月份合计列 

If e.DataCol.Name.Contains("月") andalso e.datacol.name <>  "月份_合计" Then