以文本方式查看主题

-  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=46411)

--  作者:小刚
--  发布时间:2014/2/23 2:14:00
--  

if [审核]=1 then

    [取消审核]=0

elseif[审核]=0 then

    [取消审核]=1

endif


--  作者:y2287958
--  发布时间:2014/2/23 6:57:00
--  
我感觉在设计上,有“审核与否”和“批准与否”两列就可以了。
如果一定要这么设计,试试套一下下面的代码(N个都一样,也好理解)。
Select Case e.DataCol.Name
    Case "第一列","第二列"
        If e.NewValue = True Then
            Dim sms() As String = {"第一列","第二列"}
            For i As Integer = 0 To sms.Length - 1
                If sms(i) <> e.DataCol.Name
                    e.DataRow(sms(i)) = False
                End If
            Next
        End If
End Select


或者这样:你要的
Select Case e.DataCol.Name
    Case "第一列"
        e.DataRow("第二列") = not e.NewValue
    Case "第二列"
        e.DataRow("第一列") = not e.NewValue
End Select

[此贴子已经被作者于2014-2-23 7:36:25编辑过]

--  作者:lsy
--  发布时间:2014/2/23 8:17:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:逻辑列排他性选择.table


--  作者:lsy
--  发布时间:2014/2/23 16:53:00
--  

你的逻辑列,y2287958已经说了,设置的不合理,实际只需要两个,而不是四个。

审核、批准。

 


--  作者:lsy
--  发布时间:2014/2/23 17:31:00
--  
是啊,前一步未执行,后一步就不准执行。
--  作者:lsy
--  发布时间:2014/2/23 19:10:00
--  

审核为真,才能批准。

审核为真,但审核失误,原审核人先将审核改为假,才能修改相关数据,再次核实无误后,重新审核为真。

批准为真,但发现数据有误,也得由批准人将批准改为假,审核人才能重新执行上一行操作。