以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动根据版本,册,章来创建子目录来存放文件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118803)

--  作者:nxdx112
--  发布时间:2018/5/11 11:49:00
--  自动根据版本,册,章来创建子目录来存放文件
假定表中有几列,分别是版本、册、章,有若干列照片列(课件、试卷、教案、视频、学案)。希望向这些照片列添加文件的时候,自动根据版本,册,章来创建子目录来存放文件,例如课件为北师大版七上第二章的文件存放在子目录"北师大版\\七上\\课件\\第二章"下:教案为北师大版八上上第四章的文件存放在子目录"北师大版\\八上\\教案\\第四章"下:

Dim dr As DataRow = e.DataRow
If dr.IsNull("版本") Or Dr.IsNull("册") Or Dr.IsNull("章") Then
    MessageBox.Show("版本、册、章不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("课件") & "\\" & dr("章 ")

   e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("教案") & "\\" & dr("章")
End If

不知道怎么改,望老师写个代码。

--  作者:有点甜
--  发布时间:2018/5/11 12:14:00
--  

Dim dr As DataRow = e.DataRow
If dr.IsNull("版本") Or Dr.IsNull("册") Or Dr.IsNull("章") Then
    MessageBox.Show("版本?册?章不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr(e.datacol.name) & "\\" & dr("章 ")
End If

 

或者

 

Dim dr As DataRow = e.DataRow
If dr.IsNull("版本") Or Dr.IsNull("册") Or Dr.IsNull("章") Then
    MessageBox.Show("版本?册?章不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else   
    If e.DataCol.name = "课件" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("课件") & "\\" & dr("章")       
    ElseIf e.DataCol.name = "教案" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("课件") & "\\" & dr("章")       
    End If
End If


--  作者:nxdx112
--  发布时间:2018/5/11 17:55:00
--  
Dim dr As DataRow = e.DataRow
If dr.IsNull("版本") Or Dr.IsNull("册") Or Dr.IsNull("章") Then
    MessageBox.Show("版本?册?章不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else    
    If e.DataCol.name = "课件" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("课件") & "\\" & dr("章")        
    ElseIf e.DataCol.name = "教案" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("教案") & "\\" & dr("章")      
    ElseIf e.DataCol.name = "学案" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("学案") & "\\" & dr("章")        
    ElseIf e.DataCol.name = "反思" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("反思") & "\\" & dr("章")        
    ElseIf e.DataCol.name = "视频" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("视频") & "\\" & dr("章") 
    ElseIf e.DataCol.name = "试卷" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("试卷") & "\\" & dr("章")                
     ElseIf e.DataCol.name = "其他" Then
        e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & dr("其他") & "\\" & dr("章")                
    End If
End If
    老师,未达到效果-- 版本\\册\\课件\\章  或版本\\册\\教案\\章 或版本\\册\\试卷\\章 等 
全部都在 ---版本\\册\\章 ,也就是不论添加的是课件还是教案等均放到了版本\\册\\章    最后的文件夹中,并未分类存放



[此贴子已经被作者于2018/5/11 17:57:14编辑过]

--  作者:有点甜
--  发布时间:2018/5/11 18:45:00
--  

改成

 

Dim dr As DataRow = e.DataRow
If dr.IsNull("版本") Or Dr.IsNull("册") Or Dr.IsNull("章") Then
    MessageBox.Show("版本?册?章不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    e.SubFolder = dr("版本") & "\\" & dr("册") & "\\" & e.datacol.name & "\\" & dr("章 ")
End If