Foxtable(狐表)用户栏目专家坐堂 → 如何将指定目录下的文件地址写入表中


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

主题:如何将指定目录下的文件地址写入表中

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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
如何将指定目录下的文件地址写入表中  发帖心情 Post By:2016/7/3 0:10:00 [只看该作者]

各位老师,

我想通过指定一个目录,然后自动把这个目录下的文件地址写入表中,类似于http://foxtable.com/bbs/dispbbs.asp?BoardID=5&ID=86083&replyID=&skin=1的功能。

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160703000049.jpg
图片点击可在新窗口打开查看

 

这样对于大量的文件导入就不用一个一个手动添加了。

 

Dim dlg As New FolderBrowserDialog  '选择目录

Dim Folder2 As String
dlg.Description ="选择导入目录"

If dlg.ShowDialog = DialogResult.Ok  Then
    Folder2 = dlg.SelectedPath

????????
 End If

 

如何把这个目录下的文件的路劲导入 表“文件存放表”中的“文件路径”这一列中呢,存放后可以直接在这里打开原文件?


 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 0:32:00 [只看该作者]

Dim dlg As New FolderBrowserDialog  '选择目录
dlg.Description ="选择导入目录"

If dlg.ShowDialog = DialogResult.Ok  Then
    For Each f As String In FileSys.GetFiles(dlg.SelectedPath)
        Dim ndr As DataRow = DataTables("表A").addnew
        ndr("第三列") = f
    Next
End If


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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/4 12:50:00 [只看该作者]

谢谢红袍老师。

2楼的代码得到的是文件的绝对路径,表格中填写的也是绝对路径,怎么像1楼图片中的表格那样,填写相对路径,只是一个文件名和后缀,但是点击可以打开文件呢。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 14:24:00 [只看该作者]

1、这一列的存放路径如果都是同一个文件夹的话,可以指定存放路径

 

http://www.foxtable.com/help/topics/2043.htm

 

2、如果是存放不同文件夹文件的话,你肯定要用绝对路径存放信息。你可以去编写drawcell事件,只显示名称不就好了?

 

http://www.foxtable.com/help/topics/2262.htm

 

 


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


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/4 14:47:00 [只看该作者]

恩,放不同的文件。如果这里是绝对路径,同时这一列又有相对路径的文件,如何通过表的Click事件直接打开呢?
这是相对路径的打开方式:
If e.Col.Name = "文件名及链接" Then
    If e.Row.IsNull("文件名及链接") = False Then
        Dim path As String = e.Col.DataCol.DefaultFolder
        If path = Nothing Then
            path = ProjectPath & "attachments/"
        End If
        path = path & e.Row("文件名及链接")
        Dim proc As new Process
        proc.File = path
        proc.Start
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 14:56:00 [只看该作者]

 

[此贴子已经被作者于2016/7/4 14:56:30编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 14:57:00 [只看该作者]

If e.Col.Name = "文件名及链接" Then
    If e.Row.IsNull("文件名及链接") = False Then
        Dim path As String = e.Row("文件名及链接")
        If FileSys.FileExists(path) = False Then
            path = e.Col.DataCol.DefaultFolder
            If path = Nothing Then
                path = ProjectPath & "attachments/"
            End If
            path = path & e.Row("文件名及链接")
        End If
        Dim proc As new Process
        proc.File = path
        proc.Start
    End If
End If

 回到顶部