Foxtable(狐表)用户栏目专家坐堂 → 独占编辑


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

主题:独占编辑

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 15:10:00 [只看该作者]

以下是引用有点甜在2018/1/30 14:52:00的发言:
测试代码,看25楼。自行改写。

 

测试代码,看25楼。自行改写。


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 17:28:00 [只看该作者]

测试成功了,这三句话是啥意思?
    If vars("ls").ContainsKey(e.DataRow("附件")) Then
        Vars("ls")(e.DataRow("附件")) = system.Diagnostics.Process.Start(str_path)
    Else
        Vars("ls").add(e.DataRow("附件"),system.Diagnostics.Process.Start(str_path))

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 17:34:00 [只看该作者]

如果字典里面添加过这个附件值,那就不要add

 

vars("ls") 是一个字典 http://www.foxtable.com/webhelp/scr/1945.htm

 

vars变量用来存放打开过的文件列表。


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/30 17:55:00 [只看该作者]

还有一个问题,防止多个人打开同一个文件,如下写有问题,打开第一遍可以,打开第二遍就不行了。

msgbox(11)
Dim str_FileName As String =e.FileName
str_FileName=str_FileName.TrimStart("//")

Dim str_path="\\172.16.5.89\pm文件\test\" & str_FileName


msgbox(22)

If e.DataRow("编辑者") = User.Name Then '如果编辑者是当前用户
    Return
End If
msgbox(33)
Dim cmd As New SQLCommand
Dim exp As String  = "编辑者 Is Null And [_Identify] = " & e.DataRow("_Identify")
cmd.CommandText = "U pdate {员工} Set 编辑者 = '" & User.Name & "' Where " & exp
msgbox(44)

If cmd.ExecuteNonQuery = 1 Then   '如果在数据库中字段成功写入编辑者
    e.DataRow("编辑者") = User.Name     '在显示的表中也改一下

msgbox(55)

'以下为打开附件列中的附件
  If e.DataCol.Name = "附件" Then    '如果鼠标操作的是附件列
      If vars("ls").ContainsKey(e.DataRow("附件")) Then
          Vars("ls")(e.DataRow("附件")) = system.Diagnostics.Process.Start(str_path)
      Else
          Vars("ls").add(e.DataRow("附件"),system.Diagnostics.Process.Start(str_path))
      End If   
      msgbox(1) 
          e.Cancel = True '取消系统默认的打开文件操作,因为前面已经编码打开了       '成功也要取消打开文件,下面的失败也要取消,因为已经用代码打开了,不再需要文件管理器自动打开
  End If
msgbox(66)


Else
    cmd.CommandText = "S elect 编辑者 From {员工} Where [_Identify] = " & e.DataRow("_Identify")
    Dim nm As String = cmd.ExecuteScalar
    If nm > "" Then
        MessageBox.show(nm & "正在编辑此行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        MessageBox.show("此行可能已经被删除,无法编辑!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
msgbox(77)
    e.Cancel = True '取消编辑
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 18:05:00 [只看该作者]

第二次打开具体什么问题?报错还是提示正在编辑?

 

如果提示正在编辑,说明你计时器没有处理好,当文件关闭的时候,要操作数据库,把值修改的。


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/31 11:10:00 [只看该作者]

搞定了,现在有个问题,如果是独占式编辑,那么附件列  所存放的文件名,只能让管理员来修改,如何控制这点?  因为点击元素格后弹出的是文件管理器菜单,所有人均可操作,怎么办?
[此贴子已经被作者于2018/1/31 11:11:16编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/31 11:14:00 [只看该作者]

beforeOpenFile或者相关的事件,加上权限判断咯。如

 

If user.name = "管理员" Then

 

else

    e.cancel = true

end If


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/31 17:19:00 [只看该作者]

这个项目表里没有“编辑者” 这个字段,但是很多代码都涉及到这个字段,请问表里的这个字段在哪里?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:15.rar


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/31 17:23:00 [只看该作者]

那一列被remove掉了,注释掉代码

 

Tables("员工").Cols.Remove("编辑者") '移除编辑者列,避免用户直接修改此列

 

 


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/1/31 17:28:00 [只看该作者]

移植到其它项目上,把表定向到sqlserver数据库中,报这个错

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部
总数 70 上一页 1 2 3 4 5 6 7 下一页