Foxtable(狐表)用户栏目专家坐堂 → 独佔式编辑无效-已解決


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

主题:独佔式编辑无效-已解決

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
独佔式编辑无效-已解決  发帖心情 Post By:2013/5/2 4:18:00 [显示全部帖子]

在帮助里,有教如何设置独佔式编辑
但依著设置后
沒有效果,是版本的问题?
我现时用的是2012试用版

[此贴子已经被作者于2013-7-24 21:02:44编辑过]

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/2 20:23:00 [显示全部帖子]

我今晚再把写了的代码刪去,再重新编一次看看,如果仍然未有解決,就发上來,请帮忙看看

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/12 18:42:00 [显示全部帖子]

修正后更惨

出现系统崩溃...

 


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

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

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/12 18:48:00 [显示全部帖子]

 

目标独佔的表名是"进度"

已在"进度"表加上 "编辑者"列

 

4段代码如下:

 

1. 项目事件  AfterOpenProject

DataTables("进度").ReplaceFor("编辑者",Nothing,"编辑者 = '" & User.Name & "'")
DataTables("进度").Save()
Tables("进度").Cols.Remove("编辑者") '移除编辑者列,避免用户直接修改此列

 

2.表事件 StartEdit

If e.Row("编辑者") = User.Name Then '如果编辑者是当前用户
    Return
End If
Dim cmd As New SQLCommand
Dim exp As String  = "编辑者 Is Null And [_Identify] = " & e.Row("_Identify")
cmd.CommandText = "Update {进度} Set 编辑者 = '" & User.Name & "' Where " & exp
If cmd.ExecuteNonQuery = 1 Then
    e.Row("编辑者") = User.Name
Else
    cmd.CommandText = "Select 编辑者 From {进度} Where [_Identify] = " & e.Row("_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
    e.Cancel = True '取消编辑
End If

 

3.DataRowAdding

e.DataRow("编辑者") = User.name

 

4.BeforeSaveDataRow

If e.DataRow.RowState = DataRowState.Added Then '如果是新增行
    e.DataRow("编辑者") = Nothing
Else
    Dim cmd As New SQLCommand
    Dim exp As String  = "[_Identify] = " & e.DataRow("_Identify")
    cmd.CommandText = "Update {进度} Set 编辑者 = Null Where [_Identify] = " & e.DataRow("_Identify")
    If cmd.ExecuteNonQuery = 1 Then
        e.DataRow("编辑者") = Nothing
    End If
End If

 

是在帮助里看到,依著步來做的,当中是把 帮助里的"员工"表名  改成"进度"

 

我是外部数据表的.

[此贴子已经被作者于2013-5-12 18:48:16编辑过]

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/18 23:48:00 [显示全部帖子]

但对于这段代码的设置,原则上我是完全不懂
具体如何改 text 为Value?

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/7/23 21:57:00 [显示全部帖子]

用狐表事例是可以做到独佔,

现在把表设为外部数据源就出錯

实在研究不到,上个例子求解答好了

 

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


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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/7/24 20:37:00 [显示全部帖子]

外部数据源是ASS 都一样要设嗎?>

 


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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/7/24 21:02:00 [显示全部帖子]

cmd.ConnectionName = "外部数据源名称"
就加这一句就能成功了

狐表真是強大

 


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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/7/24 21:18:00 [显示全部帖子]

独佔吃不吃资源?

 回到顶部