Foxtable(狐表)用户栏目专家坐堂 → [分享]彻底优化独占式编辑终极版---求狐爸给精华


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

主题:[分享]彻底优化独占式编辑终极版---求狐爸给精华

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


加好友 发短信
等级:童狐 帖子:246 积分:1775 威望:0 精华:0 注册:2013/12/22 14:54:00
[分享]彻底优化独占式编辑终极版---求狐爸给精华  发帖心情 Post By:2014/4/16 21:10:00 [只看该作者]

热度不够啊,来个标题党吧.
经过bin版和俺准女婿甜版的大力指导.对于狐爸独占式编辑作如下改良.
1.解决了在表格编辑模式(相对于窗口录入方式,即原例子1)时,对某行未作任何修改,立即选择另一行时,该行仍然被锁定,不能被别人编辑的问题.大大占用资源哪.
2.解决了上述情况时行状态发生了变化,即使未作任何修改,也会引起行状态变化(由于编辑者列发生了变化),如果保存该行的话,而又设置了代码,记录保存人和保存时间的话,会造成多余的记录,即未修改任何东西,却记录了修改时间和修改人员.

代码原理很简单.就不多说了.




'--------改良独占式编辑
If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
        Dim i As Integer = 0
        For Each c As Col In e.Table.Cols
            If r.DataRow.OriginalValue(c.name)  <>  r(c.name) AndAlso c.name<>"编辑者" AndAlso c.name<>"执行次数"  Then   '不检查编辑者列和表达式列
                i = i+1
            End If
        Next
        If i = 0 Then
            r.reject   '恢复行状态
            Dim cmd1 As New SQLCommand
            cmd1.CommandText = "Select 编辑者 From {任务追踪表} Where [_Identify] = " & r.DataRow("_Identify")
            Dim nm As String = cmd1.ExecuteScalar
            If nm = user.name Then
                If r.DataRow.RowState = DataRowState.Added Then '如果是新增行
                    r.DataRow("编辑者") = Nothing
                Else
                    Dim cmd As New SQLCommand
                    cmd.CommandText = "Update {任务追踪表} Set 编辑者 = Null Where [_Identify] = " & r.DataRow("_Identify")
                    If cmd.ExecuteNonQuery = 1 Then
                        r.DataRow("编辑者") = Nothing
                    End If
                End If
            End If
        End If
    End If
End If


忘了说了,代码加在beforeselchange 事件中,选择不同行时候执行判断。
[此贴子已经被作者于2014-4-17 7:50:25编辑过]

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


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

 图片点击可在新窗口打开查看 思路很清晰,帮助里的独占编辑是应该改良一下了。


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5885 威望:0 精华:0 注册:2013/7/29 12:00:00
  发帖心情 Post By:2014/4/16 21:30:00 [只看该作者]

顶!

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2014/4/16 22:18:00 [只看该作者]

恭喜准女婿甜版图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2014/4/16 22:28:00 [只看该作者]

准女婿 啥意思

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


加好友 发短信
等级:六尾狐 帖子:1198 积分:7859 威望:0 精华:0 注册:2013/5/17 14:26:00
  发帖心情 Post By:2014/4/16 22:30:00 [只看该作者]

用户已经被屏蔽

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


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

以下是引用jianjingmaoyi在2014-4-16 22:28:00的发言:
准女婿 啥意思

 

大叔我跟楼主1岁的女儿定了亲图片点击可在新窗口打开查看


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


加好友 发短信
等级:童狐 帖子:246 积分:1775 威望:0 精华:0 注册:2013/12/22 14:54:00
  发帖心情 Post By:2014/4/16 22:31:00 [只看该作者]

意思就是二十载后,甜版会驾着七色云彩来俺家提亲.图片点击可在新窗口打开查看

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


加好友 发短信
等级:狐精 帖子:3370 积分:24858 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2014/4/16 22:51:00 [只看该作者]

关于独占模式 有个问题比较烦人 如果客户端崩溃 如何解锁?


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


加好友 发短信
等级:童狐 帖子:246 积分:1775 威望:0 精华:0 注册:2013/12/22 14:54:00
  发帖心情 Post By:2014/4/16 22:55:00 [只看该作者]

狐爸例子中不是说了嘛,非法退出的情况,有解锁代码的.

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