Foxtable(狐表)用户栏目专家坐堂 → 无法创建新的堆栈防护页面


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

主题:无法创建新的堆栈防护页面

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 16:05:00 [显示全部帖子]

表格事件代码计算,或者单元格表达式计算出现了死循环

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 16:46:00 [显示全部帖子]

这个控制太多了,自己检查吧,比如下面dctpc触发更改"dclcf","dclcf"的更改又触发"dcharbourdensity"的更改,一层一层,最后其它地方又导致dctpc触发,现成一个闭环,就是死循环了

Select Case e.DataCol.Name
    Case "dctpc","clcf"  ''dclcf获取公式
        If e.DataRow.IsNull("dctpc") And  e.DataRow.IsNull("clcf") Then
            e.DataRow("dclcf") = Nothing
        Else
            e.DataRow("dclcf") = e.DataRow("dctpc")+e.DataRow("clcf")
        End If
End Select

Select Case e.DataCol.Name
    Case "dclcf","harbourdensity","tabledensity"  ''dcharbourdensity获取公式
        If e.DataRow.IsNull("dclcf") And  e.DataRow.IsNull("harbourdensity") And  e.DataRow.IsNull("tabledensity")  Then
            e.DataRow("dcharbourdensity") = Nothing
        Else
            e.DataRow("dcharbourdensity") = e.DataRow("dclcf")*e.DataRow("harbourdensity")/e.DataRow("tabledensity")
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 20:32:00 [显示全部帖子]

不要闭环,比如A触发B,B触发C,C又触发A,没完没了,肯定要有一个终结点。

找到合适的点,使用systemready:http://www.foxtable.com/webhelp/topics/2218.htm

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 20:59:00 [显示全部帖子]

肯定有一个无法触发。这个要您自己考虑了,重新理清一下业务逻辑,出现这种闭环的触发逻辑肯定是有问题的

 回到顶部