Foxtable(狐表)用户栏目专家坐堂 → 窗口表中的远程文件如何双击直接打开


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

主题:窗口表中的远程文件如何双击直接打开

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


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

你这一列 文件名及链接 列属性那里,要设置好对应的 ftp的信息

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


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

设置好了的,不然也无法打开远程的文件啊。

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


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

If e.Col.Name = "文件名称及链接" Then
    If e.Row.IsNull("文件名称及链接") = False Then
        e.cancel = True
        Dim c As Col = e.Col
        Dim ftp As FTPClient = c.DataCol.FTPClient
        Dim path As String = ProjectPath & "RemoteFiles\" & FileSys.GetName(e.Row(c.Name))
        ftp.Download(e.Row(c.Name), path, True)
        Dim proc As new Process
        proc.File = path
        proc.Start
    End If
End If

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


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

感动中,红袍老师解决问题效率就是高啊,一下就解决了,不用绕来绕去的。

 

我刚正准备截图呢,没有想到已经解决了,这个代码测试就没有问题了。

 

再次感谢。


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


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

红袍老师,我想在这一列的单元格中再加入,如果单击选中后再按键盘上的任意键的话,就打开另存文件的对话框,本来代码是这样的:

If e.Col.Name = "文件名称及链接" Then
    If e.Row.IsNull("文件名称及链接") = False Then
        e.cancel = True
     Dim dlg As new SaveFileDialog
    If dlg.ShowDialog = DialogResult.OK Then
    Dim c As Col = CurrentTable.Cols(CurrentTable.ColSel)
    Dim ftp As FTPClient = c.DataCol.FTPClient
    Dim path As String = ProjectPath & "RemoteFiles\" & FileSys.GetName(CurrentTable.Current(c.Name))
    ftp.Download(CurrentTable.Current(c.Name), path, True)
       
    FileSys.CopyFile(path, dlg.FileName, True)
    msgbox("另存成功")
    e.Form.Close
    End If
    End If
End If

但是提示:Col不是KeyEventArgs的成员
错误代码:If e.Col.Name = "文件名称及链接" Then


这个该如何实现呢?





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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/26 9:05:00 [只看该作者]

If e.Table.Curent Is Nothing Then Return
Dim dlg As new SaveFileDialog
If dlg.ShowDialog = DialogResult.OK Then
    Dim c As Col = e.Table.Cols(e.Table.ColSel)
    Dim ftp As FTPClient = c.DataCol.FTPClient
    Dim path As String = ProjectPath & "RemoteFiles\" & FileSys.GetName(e.Table.Current(c.Name))
    ftp.Download(e.Table.Current(c.Name), path, True)
    
    FileSys.CopyFile(path, dlg.FileName, True)
    msgbox("另存成功")
    e.Form.Close
End If

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


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

谢谢Hypen老师,不过,任然有问题.

首先,你的代码没有判断我当前点击的是“文件名称及链接”这一列,而是所有列点击都会另存为。

其次,用这个代码还是有错误提示啊,提示:

Current不是Table成员
错误代码:If e.Table.Curent Is Nothing Then Return

注意,这个代码我是放在表的KeyDown事件中的。



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


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

If e.Table.Current Is Nothing Then Return
Dim c As Col = e.Table.Cols(e.Table.ColSel)
If c.name = "文件名称及链接" Then
    Dim dlg As new SaveFileDialog
    If dlg.ShowDialog = DialogResult.OK Then
        e.cancel = True
        Dim ftp As FTPClient = c.DataCol.FTPClient
        Dim path As String = ProjectPath & "RemoteFiles\" & FileSys.GetName(e.Table.Current(c.Name))
        ftp.Download(e.Table.Current(c.Name), path, True)
       
        FileSys.CopyFile(path, dlg.FileName, True)
        msgbox("另存成功")
    End If
End If

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


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

红袍老师,你这个代码没有问题。

我看到其实是下载了远程文件,然后将远程文件复制到要移动的地方,并且没有文件格式的后缀,虽然可以加入文件后缀筛选,但是文件格式太多了,不方面全部加入。

能不能实现这样,另存的时候只选择保存的位置,不用设置文件名,直接将文件用原来的文件名和后缀直接保存(从RemoteFiles直接复制过去也行),只是,文件名不用设置,和原来的一样,保留原来的文件格式后缀。

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


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

If e.Table.Current Is Nothing Then Return
Dim c As Col = e.Table.Cols(e.Table.ColSel)
If c.name = "文件名称及链接" Then
    Dim dlg As new SaveFileDialog
    dlg.FileName = e.Table.Current(c.Name)
    If dlg.ShowDialog = DialogResult.OK Then
        e.cancel = True
        Dim ftp As FTPClient = c.DataCol.FTPClient
        Dim path As String = ProjectPath & "RemoteFiles\" & FileSys.GetName(e.Table.Current(c.Name))
        ftp.Download(e.Table.Current(c.Name), path, True)
       
        FileSys.CopyFile(path, dlg.FileName, True)
        msgbox("另存成功")
    End If
End If

 回到顶部
总数 23 上一页 1 2 3 下一页