以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  BeforeAttachFile问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92905)

--  作者:douglas738888
--  发布时间:2016/11/16 10:55:00
--  BeforeAttachFile问题

请教老师,下面代码的条件控制,因为“文件上传”列,受逻辑列的条件控制,会出现两次提醒,不能上传文件

如果只要其中一段代码没有问题,用两段代码存在问题,请老师指导下下,谢谢

 

Select Case e.DataCol.Name
       Case "文件上传" \'如果在该列插入文件  
            If e.DataRow("上传类型_商务文件") = False Then  
               e.Cancel = True \'取消插入
               MessageBox.Show("上传文件前,请先选择上传类型!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
        Else
           e.Subfolder = e.DataRow("专业部室") & "投标商务文件"   \'将此文件存放在目录名为部门名称的子目录中.
        End If
End Select

 

Select Case e.DataCol.Name
       Case "文件上传" \'如果在该列插入文件 

           If e.DataRow("上传类型_技术文件") = False Then  
              e.Cancel = True \'取消插入
              MessageBox.Show("上传文件前,请先选择上传类型!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
        Else
           e.Subfolder = e.DataRow("专业部室") & "投标技术文件"   \'将此文件存放在目录名为部门名称的子目录中.
        End If
End Select


--  作者:有点蓝
--  发布时间:2016/11/16 11:05:00
--  
2个都勾选的情况下应该上传那一类文件?建议把逻辑列改为下拉项目的字符列
--  作者:douglas738888
--  发布时间:2016/11/16 11:15:00
--  

老师,逻辑列是排他选择的,只能勾选其中一个,根据所勾选的逻辑列,自动在服务器上建文件包

e.DataRow("专业部室") & "投标商务文件"

e.DataRow("专业部室") & "投标技术文件"

 

 

[此贴子已经被作者于2016/11/16 11:17:03编辑过]

--  作者:有点蓝
--  发布时间:2016/11/16 11:27:00
--  
Select Case e.DataCol.Name
    Case "文件上传" \'如果在该列插入文件
        If e.DataRow("上传类型_商务文件") = False AndAlso e.DataRow("上传类型_技术文件") = False Then
            e.Cancel = True \'取消插入
            MessageBox.Show("上传文件前,请先选择上传类型!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
        Else
            If e.DataRow("上传类型_商务文件") = True Then
                e.Subfolder = e.DataRow("专业部室") & "投标商务文件"   \'将此文件存放在目录名为部门名称的子目录中.
            Else
                e.Subfolder = e.DataRow("专业部室") & "投标技术文件"
            End If
            
        End If
End Select

--  作者:有点蓝
--  发布时间:2016/11/16 11:28:00
--  
如果改为下拉项目代码就简洁的多了,还不用控制逻辑列的排他

Select Case e.DataCol.Name
    Case "文件上传" \'如果在该列插入文件
        If e.DataRow.Isnull("上传类型")  Then
            e.Cancel = True \'取消插入
            MessageBox.Show("上传文件前,请先选择上传类型!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
        Else
            e.Subfolder = e.DataRow("专业部室") & e.DataRow("上传类型")  \'将此文件存放在目录名为部门名称的子目录中.
        End If
End Select