Foxtable(狐表)用户栏目专家坐堂 → 求助:文件管理器问题


  共有3301人关注过本帖树形打印复制链接

主题:求助:文件管理器问题

帅哥哟,离线,有人找我吗?
shixia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
求助:文件管理器问题  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 11:07:00 [只看该作者]

就是你要保存的目录,你MESSAGEBOX.ShOW 弹出一下就明白了.


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

 回到顶部
帅哥哟,离线,有人找我吗?
shixia
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/11 11:09:00 [只看该作者]

提示:找不到以下文件:*****

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 11:11:00 [只看该作者]

e.SubFolder = st  你这里都把保存目录设置到别的地方去了. 当然就找不到文件了.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 11:12:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
shixia
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/11 11:20:00 [只看该作者]

e.SubFolder = st  
这是我要存放文件的目录,打不开文件说明在文件管理器中显示的文件名的路径不是 ST 那个路径?那他的路径是什么,我的代码该如何修改,请指点。

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 11:22:00 [只看该作者]

看5楼帮助.

 回到顶部
帅哥哟,离线,有人找我吗?
shixia
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/11 11:24:00 [只看该作者]

看了,不知所以然。

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 11:25:00 [只看该作者]

请上例子吧.

 回到顶部
帅哥哟,离线,有人找我吗?
shixia
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/11 11:35:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:办公室管理系统 - 副本.rar


 回到顶部
总数 11 1 2 下一页