以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请教大家关于工作流的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38024)

--  作者:VICMA
--  发布时间:2013/7/17 20:21:00
--  [求助]请教大家关于工作流的问题

在帮助文件里面关于工作流的一章,“数据的自动流转之一”,对于下面红色加粗的部分不太理解,then 后面什么代码也没有啊,问什么能阻止2A变成1B?请大家帮助,多谢了!



7、进度列的值需要根据其他列的输入进度来计算得出,为此将表的DataColChanged事件代码设置为:

Select Case e.DataCol.Name
    Case
"第一列","第二列","第三列","第四列","第五列","第六列"
       
Dim dr As DataRow = e.DataRow
       
Dim jd As String = "1A"
       
If dr.IsNull("第一列") = False AndAlso dr.IsNull("第二列") = False Then
            jd =
"1B"
           
If dr.IsNull("第三列") = False AndAlso dr.IsNull("第四列") = False Then
                jd =
"2B"
               
If dr.IsNull("第五列") = False AndAlso dr.IsNull("第六列") = False Then
                    jd =
"3B"
               
End If
            End
If
        End
If
        If
jd = "1B" AndAlso dr("进度") = "2A" Then \'注意这里的处理技巧,意思是2A不能回到1B,3A不能回到2B
        ElseIf
jd = "2B" AndAlso dr("进度") = "3A" Then
        Else

            dr(
"进度") = jd

        End
If
End
Select


--  作者:有点甜
--  发布时间:2013/7/17 21:06:00
--  

没有代码,就没有执行,没有执行,就没有改变进度列的值。

假定第一列和第二列都不为空,变量jd等于1b,表示进度1已经完成,如果进度列的值等于2A,那么最后的红色的代码就不会改变进度列的值(不会将进度列的值设置为变量jd),也就是2A不能变为1B


--  作者:VICMA
--  发布时间:2013/7/17 21:25:00
--  
以下是引用有点甜在2013-7-17 21:06:00的发言:

没有代码,就没有执行,没有执行,就没有改变进度列的值。

假定第一列和第二列都不为空,变量jd等于1b,表示进度1已经完成,如果进度列的值等于2A,那么最后的红色的代码就不会改变进度列的值(不会将进度列的值设置为变量jd),也就是2A不能变为1B  





就是说只要流程一完成了输入后,就不再能修改了,流程二接受到之后也不能再更新了,一切以流程一第一次输入的为准,对么?