Foxtable(狐表)用户栏目专家坐堂 → [求助]请问项目里面的代码那里错了?


  共有1650人关注过本帖树形打印复制链接

主题:[求助]请问项目里面的代码那里错了?

帅哥哟,离线,有人找我吗?
有点色
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/20 14:47:00 [显示全部帖子]

循环的触发datacolchanged事件就会退出。

 

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列","第五列"
        Dim cls() As String = { "第一列","第二列","第三列","第四列","第五列" }
        Dim count As Integer = 0
        Dim sum As Integer = 0
        For Each c As String In cls
            If e.DataRow(c) > 0Then
                sum += e.DataRow(c)
                count += 1
            End If
        Next
        e.DataRow("第六列") = sum
        If count > 0 Then e.DataRow("第七列") = sum/count
End Select

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/20 15:37:00 [显示全部帖子]

比如这句

 

e.DataRow("第六列") = e.DataRow("第六列") + e.DataRow("第四列")

 

第六列的值,会不断变化,从而会循环不断的触发datacolchanged事件。你要加上列名的判断,如

 

If e.DataCol.Name = "第四列" Then

    e.DataRow("第六列") = e.DataRow("第六列") + e.DataRow("第四列")

End If


 回到顶部