以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]复制指定行后整行不能编辑 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=56040) |
||||
-- 作者:liujywwy -- 发布时间:2014/8/28 11:25:00 -- [求助]复制指定行后整行不能编辑 代码如下:复制完指定行(当然此行是locked的),复制成功后的新行,希望除“需求编号”之外的列都是可以编辑的。可结果是不能编辑。 Tables("需求明细表").Current.Clone |
||||
-- 作者:有点甜 -- 发布时间:2014/8/28 11:28:00 -- 控制能否编辑,可以参考这里
http://www.foxtable.com/help/topics/1473.htm
|
||||
-- 作者:有点甜 -- 发布时间:2014/8/28 11:29:00 -- 通过事件控制
http://www.foxtable.com/help/topics/0605.htm
|
||||
-- 作者: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 |
||||
-- 作者:liujywwy -- 发布时间: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("克隆") AndAlso e.Col.name <> "需求编号" Then 克隆指定行的代码如下。 Tables("需求明细表").Current.Clone 但是呢我在后台需求明细表查看了一下,发现已提交已打勾,克隆没打勾,说明下面2行代码应该没生效。如附件。 Tables("需求明细表").Current("已提交")= False ![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2014/8/28 14:18:00 -- Tables("需求明细表").Current.Clone
这段代码你单独执行,不可能有你说的不赋值的情况。 |
||||
-- 作者:liujywwy -- 发布时间:2014/8/28 14:27:00 -- 以下是引用有点甜在2014-8-28 14:18:00的发言:
Tables("需求明细表").Current.Clone
这段代码你单独执行,不可能有你说的不赋值的情况。 是真的,我试了好几次了。要不上例子看看? 你在需求明细表克隆指定行,然后看看需求明细表的已提交和克隆列。
|
||||
-- 作者:有点甜 -- 发布时间:2014/8/28 14:34:00 -- Dim r As Row = Tables("需求明细表").Current.Clone r("已提交")= False r("克隆")= True DataTables.Save() |