以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 狐表闪退 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84370) |
-- 作者:realredred -- 发布时间:2016/4/29 10:57:00 -- 狐表闪退 在 DataColChanged 设了这代码
Select Case e.DataCol.Name \'----收发 Case
"S电雕KS","电雕DS"," Dim
d0 As Date = "#"
& e.DataRow("S电雕KS") & "#" \'----------------------电绘预计天数 Dim
da00 As Integer For
da00 = 1 To 4 If d0.AddDays(da00).dayofweek = 0 Then e.DataRow( "电雕DS")
= 5
Exit For
Else
e.DataRow(
"电雕DS") = 4
End If Next End Select
执行时 狐表闪退 请问哪里出了问题? |
-- 作者:大红袍 -- 发布时间:2016/4/29 10:59:00 -- Select Case e.DataCol.Name \'----收发 Case "S电雕KS","电雕DS" systemready = False Dim d0 As Date = "#" & e.DataRow("S电雕KS") & "#" \'----------------------电绘预计天数 Dim da00 As Integer For da00 = 1 To 4 If d0.AddDays(da00).dayofweek = 0 Then e.DataRow( "电雕DS") = 5 Exit For Else e.DataRow( "电雕DS") = 4 End If Next systemready = True End Select |
-- 作者:realredred -- 发布时间:2016/4/29 11:05:00 -- 版主你好 将停止执行所有事件代码 (systemready = False) 然后那段代码就沒有问题可以实现到想要的结果 然后再恢复所有事件代码(systemready = True ) 是什麼原因? 用 systemready 有沒有缺点
[此贴子已经被作者于2016/4/29 11:06:08编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/4/29 11:07:00 -- 你的代码,会重复触发dataColChanged事件的。你要理一下你的逻辑。 |
-- 作者:realredred -- 发布时间:2016/4/29 12:39:00 -- 明白了, 是case 里 "电雕DS" 有改变 就重复触发 結果死循环 闪退了 我修改一下 谢谢版主 两年沒改过狐表 , 遗忘了
[此贴子已经被作者于2016/4/29 12:39:33编辑过]
|