以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:文件管理器问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47481)

--  作者:shixia
--  发布时间:2014/3/11 10:53:00
--  求助:文件管理器问题

在   BeforeAttachFile  事件中设置如下代码:

Select Case e.DataCol.Name
    Case "附件"
        Dim st As String  =ProjectPath & "Attachments\\" & e.DataRow("年度") & "\\" & e.DataRow("分类") & "\\" & e.DataRow("标签")
        If FileSys.DirectoryExists(st) Then \'如果目录 st 存在
            DataTables("文档管理").DataCols("附件").DefaultFolder = st
        Else
            FileSys.CreateDirectory(st)
            DataTables("文档管理").DataCols("附件").DefaultFolder = st
        End If

        Dim sm As String = e.SourceFolder & "\\" & e.FileName
        Dim sn As String = st & "\\" & e.FileName
        If FileSys.FileExists(sm) Then \'如果指定的文件存在
            If FileSys.FileExists(sn)
                MessageBox.Show("文件已经存在!","提示")
                e.cancel = True
                Return
            ElseIf FileIsOpened(sm)= True Then
                MessageBox.Show("文件已经打开!","提示")
                e.cancel = True
                Return
            Else
                Filesys.copyFile(sm,sn) \'先复制
                FileSys.DeleteFile(sm,2,3) \'则彻底删除之
            End If
           
            e.cancel = True
            If e.DataRow.isnull(e.DataCol.name) Then
                e.DataRow(e.DataCol.name) = e.filename
            Else
                e.DataRow(e.DataCol.name) = e.DataRow(e.DataCol.name) & vbcrlf & e.filename
            End If
        End If
End Select

 

 

问题:

增加文件后当时在文件管理器中可以打开文档,关闭项目后再去打开其它行的文件 打不开

 

我认为可能是这段代码把存放路径固定到这后一次增加路径上:DataTables("文档管理").DataCols("附件").DefaultFolder = st
SubFolder:    指定存放文件的子目录  这个子目录是什么意思?帮助中没有明确解释

我把代码作如下修改:

Select Case e.DataCol.Name
    Case "附件"
        Dim st As String  =ProjectPath & "Attachments\\" & e.DataRow("年度") & "\\" & e.DataRow("分类") & "\\" & e.DataRow("标签")
        If FileSys.DirectoryExists(st) Then \'如果目录 st 存在
            e.SubFolder = st
            \' DataTables("文档管理").DataCols("附件").DefaultFolder = st
        Else
            FileSys.CreateDirectory(st)
            \'  DataTables("文档管理").DataCols("附件").DefaultFolder = st
            e.SubFolder = st
        End If
       
        Dim sm As String = e.SourceFolder & "\\" & e.FileName
        Dim sn As String = e.SubFolder & "\\" & e.FileName
        If FileSys.FileExists(sm) Then \'如果指定的文件存在
            If FileSys.FileExists(sn)
                MessageBox.Show("文件已经存在!","提示")
                e.cancel = True
                Return
            ElseIf FileIsOpened(sm)= True Then
                MessageBox.Show("文件已经打开!","提示")
                e.cancel = True
                Return
            Else
                Filesys.copyFile(sm,sn) \'先复制
                FileSys.DeleteFile(sm,2,3) \'则彻底删除之
            End If
           
            e.cancel = True
            If e.DataRow.isnull(e.DataCol.name) Then
                e.DataRow(e.DataCol.name) = e.filename
            Else
                e.DataRow(e.DataCol.name) = e.DataRow(e.DataCol.name) & vbcrlf & e.filename
            End If
        End If
End Select

 

修改后文档可以复制到对应的文件夹下,但是当时就打不开文件内容。不知道这个事件中添加的文档路径是什么,狐爸不让我看到。

[此贴子已经被作者于2014-3-11 11:08:10编辑过]

--  作者:Bin
--  发布时间:2014/3/11 11:07:00
--  
就是你要保存的目录,你MESSAGEBOX.ShOW 弹出一下就明白了.


关闭项目后再去打开其它行的文件 打不开? 提示什么?

--  作者:shixia
--  发布时间:2014/3/11 11:09:00
--  
提示:找不到以下文件:*****
--  作者:Bin
--  发布时间:2014/3/11 11:11:00
--  
e.SubFolder = st  你这里都把保存目录设置到别的地方去了. 当然就找不到文件了.
--  作者:Bin
--  发布时间:2014/3/11 11:12:00
--  
参考一下帮助http://www.foxtable.com/help/topics/2637.htm
--  作者:shixia
--  发布时间:2014/3/11 11:20:00
--  
e.SubFolder = st  
这是我要存放文件的目录,打不开文件说明在文件管理器中显示的文件名的路径不是 ST 那个路径?那他的路径是什么,我的代码该如何修改,请指点。
--  作者:Bin
--  发布时间:2014/3/11 11:22:00
--  
看5楼帮助.
--  作者:shixia
--  发布时间:2014/3/11 11:24:00
--  

看了,不知所以然。

我在那个事件中加个代码看了一下:MessageBox.Show(e.FileName)  显示的是文件管理器中文档名

[此贴子已经被作者于2014-3-11 11:24:52编辑过]

--  作者:Bin
--  发布时间:2014/3/11 11:25:00
--  
请上例子吧.
--  作者:shixia
--  发布时间:2014/3/11 11:35:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:办公室管理系统 - 副本.rar