以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 切换页面卡机 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157171) |
-- 作者:huaqing8828 -- 发布时间: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 |
-- 作者:有点蓝 -- 发布时间:2020/10/6 10:54:00 -- 如果是在datacolchanged事件,切换表不可能会执行的。应该是有其他代码影响了,比如重置列的代码,或者在切换表的时候改变了"发货批号","现送数量","送货日期"这几列的数据 |
-- 作者:huaqing8828 -- 发布时间:2020/10/6 13:07:00 -- 谢谢老师,我再检查一下 |
-- 作者:huaqing8828 -- 发布时间:2020/10/6 14:00:00 -- 老师我是在datacolchanged事件里写上面的代码的,检查过了问题就出现在"发货批号","现送数量","送货日期"这三列,这三列的任意一列我按一下重置列都卡机。老师应该怎么解决啊 |
-- 作者:有点蓝 -- 发布时间:2020/10/6 14:22:00 -- 如果数据多,没有办法。可以考虑从业务逻辑上优化,具体上传实例看看有没有变通的方法 |
-- 作者:huaqing8828 -- 发布时间:2020/10/6 15:15:00 -- 老师我现在只保存三天的数据,就可以切换了。实际上我只需要保存三天的数据,那么老师三天以前的数据可以做到自动删除吗 |
-- 作者:有点蓝 -- 发布时间:2020/10/6 15:21:00 -- 可以在afteropenproject事件打开项目时删除:http://www.foxtable.com/webhelp/topics/0394.htm |
-- 作者:huaqing8828 -- 发布时间:2020/10/6 16:41:00 -- 可以了,谢谢老师 |