以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]表事件datarowadded 执行时,当前行是新增行还是新增之前的当前行? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104300) |
-- 作者:whyxd -- 发布时间:2017/7/27 8:44:00 -- [求助]表事件datarowadded 执行时,当前行是新增行还是新增之前的当前行? 父表:"表A" 子表:"表B" 表A:表事件 datarowadded Dim r1 As DataRow For i As Integer = 1 To 11 r1 = DataTables("表B").AddNew Next 表B: 表事件 BeforeAddDataRow If Tables("表A").current.Locked = True Then e.Cancel = True End If 这样如果"表A"当前行是被锁定的,"表A"新增行的时候,"表B"就不会增加行。 怎么破??? |
-- 作者:有点甜 -- 发布时间:2017/7/27 8:49:00 -- 1、表A的新增行,改代码为 Tables("表a").AddNew
2、也可以这样写
SystemReady = false For i As Integer = 1 To 11 r1 = DataTables("表B").AddNew
Next
SystemReady = true
|
-- 作者:whyxd -- 发布时间:2017/7/27 16:07:00 -- 回复:(有点甜)1、表A的新增行,改代码为 Tables("表... 我本来就是用的 Tables("表a").AddNew 新增行 用 SystemReady = false For i As Integer = 1 To 11 r1 = DataTables("表B").AddNew Next SystemReady = true "表B"可以正常增加行,只是SystemReady 是什么作用?用这种方法,"表B" 中的datarowadded事件又不起作用了。 |
-- 作者:有点甜 -- 发布时间:2017/7/27 17:05:00 -- Dim r1 As DataRow
vars("暂停") = true
For i As Integer = 1 To 11
r1 = DataTables("表B").AddNew
Next
vars("暂停") = false
----------------
If vars("暂停") = False AndAlso Tables("表A").current.Locked = True Then
e.Cancel = True
End If |
-- 作者:whyxd -- 发布时间:2017/7/27 18:48:00 -- 回复:(有点甜) Dim r1 As Dat... vars 好用,我用它来调整吧。多谢指点。 |