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


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

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

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
窗口表中的远程文件如何双击直接打开  发帖心情 Post By:2016/7/22 11:48:00 [显示全部帖子]

在一个窗口中,直接双击“文件名称及链接”这一列的内容,如果本地有相同的文件(且判断是否为最新,如果是),则直接打开,如果没有的话,下载FTP的文件打开。

也就是说,实现列属性为“文件”的这一列,在这一列中任意一行直接双击,实现鼠标右键中“打开文件(O)”的功能。

下面的语句无法判断本地是否有这个文件。

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 & "RemoteFiles/"
        End If
        path = path & e.Row("文件名称及链接")
        Dim proc As new Process
        proc.File = path
        proc.Start
    End If
End If


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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/22 11:51:00 [显示全部帖子]

因为这一列我平时是直接锁定的,不让普通用户编辑,所以普通用户在列锁定的情况下,都无法在这一列使用鼠标右键,无法打开文件,只能通过双击的方式打开远程的文件。
[此贴子已经被作者于2016/7/22 11:52:12编辑过]

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/22 11:54:00 [显示全部帖子]

谢谢狐爸,不但要判断是否存在,还要比对是否是最新的,如果不是,从FTP下载更新,如果是的话,直接打开本地文件。

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/22 12:49:00 [显示全部帖子]

没有命令能直接执行下图中“打开文件(O)”这个功能吗?

要限制普通用户更改这一列的内容,要么限制表格的编辑,如果限制编辑,下图这个菜单出不来,普通用户连文件都无法打开了;如果不限制编辑,能否不显示下图菜单中“插入文件”“插入目录”和“清楚内容”这三个选项?

FileManager只能针对多文件的列。



图片点击可在新窗口打开查看
[此贴子已经被作者于2016/7/22 12:50:09编辑过]

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/22 18:48:00 [显示全部帖子]

 谢谢红袍老师,一下就把问题解决了。

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/25 16:08:00 [显示全部帖子]

红袍老师,我的这个表名叫做“项目资料表”,放置文件地址的列叫做“文件名及链接”

我在这个表的属性里面DoubleClick设置为(仅有这一段代码)

If e.Col.Name = "文件名称及链接" Then
    If e.Row.IsNull("文件名称及链接") = False 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)
      Dim proc As new Process
      proc.File = path
      proc.Start
      e.Form.Close
    End If
End If

怎么每次双击这一列的某一行的时候,打开了远程文件的同时,弹出如下提示:

.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2016.6.26.1
错误所在事件:项目资料表,DoubleClick
详细错误信息:
未将对象引用设置到对象的实例。


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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/25 16:12:00 [显示全部帖子]

有的时候没有弹出错误提示,但是整个窗口就看不见了。

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


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

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

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


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

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

 

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

 

再次感谢。


 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


这个该如何实现呢?





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