Foxtable(狐表)用户栏目专家坐堂 → 切换页面卡机


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

主题:切换页面卡机

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


加好友 发短信
等级:幼狐 帖子:114 积分:1147 威望:0 精华:0 注册:2016/9/12 14:50:00
切换页面卡机  发帖心情 Post By:2020/10/6 10:43:00 [只看该作者]

请老师看一下这段代码有问题吗?这段代码我删掉后切换这个页面就不卡机。否则就卡机。请老师指教

Select Case e.DataCol.Name
    Case "发货批号","现送数量","送货日期"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[送货日期] >= #" & e.DataRow("送货日期") & "# And [发货批号] = '" & e.DataRow("发货批号") & "'"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "iif([送货日期] < #" & dr("送货日期") & "#, [送货日期] < #" & dr("送货日期") & "# And [发货批号] = '" & dr("发货批号") & "', [送货日期] = #" & dr("送货日期") & "# and _sortkey <= " & dr("_sortkey") & " And [发货批号] = '" & dr("发货批号") & "')"
            Dim Val1 As Double = e.DataTable.Compute("Sum(现送数量)",Filter)
            dr("已送数量") = Val1 - dr("现送数量")
        Next
        If e.DataCol.Name = "发货批号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[送货日期] > #" & e.DataRow("送货日期") & "# And [发货批号] = '" & e.OldValue & "'"
            drs = e.DataTable.Select(Filter)
            For Each dr As DataRow In drs
                Filter = "iif([送货日期] < #" & dr("送货日期") & "#, [送货日期] < #" & dr("送货日期") & "# And [发货批号] = '" & dr("发货批号") & "', [送货日期] = #" & dr("送货日期") & "# and _sortkey <= " & dr("_sortkey") & " And [发货批号] = '" & dr("发货批号") & "')"
                Dim Val1 As Double = e.DataTable.Compute("Sum(现送数量)",Filter)
                dr("已送数量") = Val1 - dr("现送数量")
            Next
        End If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/6 10:54:00 [只看该作者]

如果是在datacolchanged事件,切换表不可能会执行的。应该是有其他代码影响了,比如重置列的代码,或者在切换表的时候改变了"发货批号","现送数量","送货日期"这几列的数据

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


加好友 发短信
等级:幼狐 帖子:114 积分:1147 威望:0 精华:0 注册:2016/9/12 14:50:00
  发帖心情 Post By:2020/10/6 13:07:00 [只看该作者]

谢谢老师,我再检查一下

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


加好友 发短信
等级:幼狐 帖子:114 积分:1147 威望:0 精华:0 注册:2016/9/12 14:50:00
  发帖心情 Post By:2020/10/6 14:00:00 [只看该作者]

老师我是在datacolchanged事件里写上面的代码的,检查过了问题就出现在"发货批号","现送数量","送货日期"这三列,这三列的任意一列我按一下重置列都卡机。老师应该怎么解决啊

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/6 14:22:00 [只看该作者]

如果数据多,没有办法。可以考虑从业务逻辑上优化,具体上传实例看看有没有变通的方法

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


加好友 发短信
等级:幼狐 帖子:114 积分:1147 威望:0 精华:0 注册:2016/9/12 14:50:00
  发帖心情 Post By:2020/10/6 15:15:00 [只看该作者]

老师我现在只保存三天的数据,就可以切换了。实际上我只需要保存三天的数据,那么老师三天以前的数据可以做到自动删除吗

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/6 15:21:00 [只看该作者]

可以在afteropenproject事件打开项目时删除:http://www.foxtable.com/webhelp/topics/0394.htm


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


加好友 发短信
等级:幼狐 帖子:114 积分:1147 威望:0 精华:0 注册:2016/9/12 14:50:00
  发帖心情 Post By:2020/10/6 16:41:00 [只看该作者]

可以了,谢谢老师

 回到顶部