以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 三个问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188452) |
-- 作者:lesei -- 发布时间:2023/9/20 18:38:00 -- 三个问题 谢谢版主。 以下内容是专门发给有点蓝浏览 |
-- 作者:lesei -- 发布时间:2023/9/21 8:22:00 -- 麻烦回复一下哈,谢谢 |
-- 作者:有点蓝 -- 发布时间:2023/9/21 9:24:00 -- 1、 ElseIf rs.Count = 1 Then r = rs(0) newRowNum = r.Index Dim nr As Row = r.Clone() nr("企业名称") = "临时-" & r("企业名称") nr("名称简码") = "temp-" & r("名称简码") nr.Move(newRowNum + 1) End If 2、锁定的行是不能编辑和删除的:http://www.foxtable.com/webhelp/topics/0111.htm 先解锁,再删除 r.Locked = False r.Delete() 3、不是prepareEdit不行,是你不会用 If e.Col.Name = "审核状态" orelse e.Col.Name = "批准状态" Then e.Cancel = True End If |
-- 作者:lesei -- 发布时间:2023/9/21 15:15:00 -- 启奏万岁,臣仍有一事不明: 针对于第一个问题,您只是把代码做了很小的改动,单独声明了一个新row、代替了currenttable.current这个写法,为什么就不出现延迟(第17-19行有时得不到执行,有时又能被执行)了?
|
-- 作者:有点蓝 -- 发布时间:2023/9/21 15:17:00 -- current指的是当前行,当前行是会根据实际情况发上变化,不是固定不变的,不是特别情况,最好都不要使用。r.Clone()会返回克隆后的行,才是正确的用法 |
-- 作者:lesei -- 发布时间:2023/9/21 15:24:00 -- 我知道了,是因为clone后,光标还没移到新行上。 那又有个新问题了: 如果我把代码改成如下,加入e.table.refresh,然后再写第17-19行,是不是就能保证光标先移动到被clone行上,然后再执行第17-19行? r.clone() e.table.refresh currenttable.current("企业名称")="临时-" & r("企业名称") currenttable.current("名称简码")="临时-" & r("名称简码") currenttable.current.movve(newrownum + 1)
|
-- 作者:有点蓝 -- 发布时间:2023/9/21 15:25:00 -- 无法保证 |