Foxtable(狐表)用户栏目专家坐堂 → [求助]复制指定行后整行不能编辑


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

主题:[求助]复制指定行后整行不能编辑

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
[求助]复制指定行后整行不能编辑  发帖心情 Post By:2014/8/28 11:25:00 [只看该作者]

代码如下:复制完指定行(当然此行是locked的),复制成功后的新行,希望除“需求编号”之外的列都是可以编辑的。可结果是不能编辑。

Tables("需求明细表").Current.Clone
Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current.locked= True


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


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

 控制能否编辑,可以参考这里

 

http://www.foxtable.com/help/topics/1473.htm

 


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


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


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/8/28 11:36:00 [只看该作者]

在 PrepareEdit 事件做禁止编辑限制

http://www.foxtable.com/help/topics/0605.htm


添加一个列作为判断    例如   逻辑列  "锁定"  你可以选择隐藏

PrepareEdit 


   if e.datarow("锁定") andalso e.datacol.name <> "需求编号" then
       e.cancel=true
    end if
Tables("需求明细表").Current.Clone
Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current("锁定")= True


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/8/28 12:25:00 [只看该作者]

以下是引用Bin在2014-8-28 11:36:00的发言:
在 PrepareEdit 事件做禁止编辑限制

http://www.foxtable.com/help/topics/0605.htm


添加一个列作为判断    例如   逻辑列  "锁定"  你可以选择隐藏

PrepareEdit 


   if e.datarow("锁定") andalso e.datacol.name <> "需求编号" then
       e.cancel=true
    end if
Tables("需求明细表").Current.Clone
Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current("锁定")= True

PrepareEdit代码如下。

If e.Col.name <> "QQ号码" AndAlso e.Col.name <> "附件" AndAlso e.Col.name <> "状态" AndAlso e.Col.name <> "需求描述" Then
    If e.Row("已提交") Then
        e.cancel=True
    End If
End If

If e.Row("克隆") AndAlso e.Col.name <> "需求编号" Then
    e.cancel=True
End If

克隆指定行的代码如下。

Tables("需求明细表").Current.Clone
Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current("克隆")= True
DataTables.Save()

但是呢我在后台需求明细表查看了一下,发现已提交已打勾,克隆没打勾,说明下面2行代码应该没生效。如附件。

Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current("克隆")= True


图片点击可在新窗口打开查看此主题相关图片如下:已提交克隆.png
图片点击可在新窗口打开查看

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


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

Tables("需求明细表").Current.Clone
Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current("克隆")= True
DataTables.Save()

 

这段代码你单独执行,不可能有你说的不赋值的情况。


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/8/28 14:27:00 [只看该作者]

以下是引用有点甜在2014-8-28 14:18:00的发言:

Tables("需求明细表").Current.Clone
Tables("需求明细表").Current("已提交")= False
Tables("需求明细表").Current("克隆")= True
DataTables.Save()

 

这段代码你单独执行,不可能有你说的不赋值的情况。

是真的,我试了好几次了。要不上例子看看?

你在需求明细表克隆指定行,然后看看需求明细表的已提交和克隆列。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临时版本跟踪系统26.rar


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


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

Dim r As Row = Tables("需求明细表").Current.Clone
r("已提交")= False
r("克隆")= True
DataTables.Save()

 回到顶部