Foxtable(狐表)用户栏目专家坐堂 → 独占式编辑之一的项目的问题?


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

主题:独占式编辑之一的项目的问题?

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/7 14:35:00 [显示全部帖子]

保存前结束编辑状态即可,比如

Tables("表C").FinishEditing
其它处理
Tables("表C").save

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/7 16:27:00 [显示全部帖子]

startedit事件调换一下位置,Syscmd.Row.Load()会导致数据保存且不会触发保存事件

If e.Row("编辑者") = User.Name Then '如果编辑者是当前用户
    Return
End If

Dim cmd As New SQLCommand
cmd.ConnectionName = "仓管系统"
Dim id As Integer = e.Row("_Identify")
cmd.CommandText = "Select 用户名 From {入库表} Where [_Identify] = " & id
Dim nm As String = cmd.ExecuteScalar
If nm <> User.Name Then
    Syscmd.Row.Load()
End If

Dim cmd2 As New SQLCommand
Dim exp2 As String  = "编辑者 Is Null And [_Identify] = " & e.Row("_Identify")
cmd2.ConnectionName = "仓管系统"
cmd2.CommandText = "Update {入库表} Set 编辑者 = '" & User.Name & "' Where " & exp2
If cmd2.ExecuteNonQuery = 1 Then
    e.Row("编辑者") = User.Name
Else
    cmd2.CommandText = "Select 编辑者 From {入库表} Where [_Identify] = " & e.Row("_Identify")
    Dim nm2 As String = cmd2.ExecuteScalar
    If nm2 > "" Then
        MessageBox.show(nm2 & "正在编辑此行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        MessageBox.show("此行可能已经被删除,无法编辑!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
    e.Cancel = True '取消编辑
End If

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/7 17:20:00 [显示全部帖子]

1楼实例我测试没有问题。如果是放到自己的项目,应该是和其它事件冲突导致死循环了

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/7 17:40:00 [显示全部帖子]

BeforeSaveDataRow事件,去掉下面代码。

Tables("入库表").save

1楼的项目是没有这个代码的,自己作的,代码乱加。

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/9 9:41:00 [显示全部帖子]

如果要做独占式编辑,请完全按照这里的用法处理:http://www.foxtable.com/webhelp/topics/3007.htm,如果不借助类似openQQ这种服务端的控制方式,单独客户端是无法控制的

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/9 10:37:00 [显示全部帖子]

纯客户端无法控制。openQQ很多时候是用来结合业务进行数据控制的,聊天只是其中一个用法。

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/9 11:18:00 [显示全部帖子]

本来一直都可以的。

回12楼,
1、帮助的代码只是实现了在单元格直接编辑的情况,对于复制粘贴是没有控制到的。
方法1、屏蔽表格的粘贴功能
方法2、到datacolchanging事件使用和startedit同样的方法判断是否可以编辑

2、帮助里是使用编辑者这个里来控制数据,我不理解“用户名”这个列是干什么用的。代码里一会使用编辑者,一会使用用户名

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/9 13:46:00 [显示全部帖子]

如果这样测试没有问题。复制粘贴的处理看19楼说明,把startedit代码改改放到datacolchanging

用户名这个,要保存数据,其它用户才能判断和加载。否则数据都没有保存,李四有加载的必要吗!

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/10 14:22:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ceshi111.zip


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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/10 15:27:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:cs0001.zip


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