以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]逻辑删除 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91307) |
-- 作者:江南小城 -- 发布时间:2016/10/7 16:15:00 -- [求助]逻辑删除 老师好,通过把表A逻辑列勾选把数据复制到表B已经搞好了。现在想把表A逻辑列退购后同时删除表B和表A编号相同的行。 |
-- 作者:有点蓝 -- 发布时间:2016/10/7 16:25:00 -- DataColChanged事件 If e.DataCol.Name = "逻辑列" AndAlso e.DataRow( "逻辑列" ) = False Then e.DataRow.Delete End If |
-- 作者:江南小城 -- 发布时间:2016/10/7 17:04:00 -- 老师,我是表A逻辑列退勾删除表B(表A编号和表B编号相同的行) |
-- 作者:有点蓝 -- 发布时间:2016/10/7 17:09:00 -- 和你复制到表B的用法一样,通过find找到表B对应的行,然后delete |
-- 作者:江南小城 -- 发布时间:2016/10/7 20:14:00 -- If e.DataCol.Name = "A" AndAlso e.DataRow.IsNull("编号") = False Then Dim dr As DataRow = DataTables("表B").Find("编号 = \'" & e.DataRow("编号") & "\'") If e.DataRow(e.DataCol) = True Then If dr Is Nothing Then dr = DataTables("表B").AddNew For Each dc As DataCol In DataTables("表A").DataCols If DataTables("表B").DataCols.Contains(dc.Name) Then dr(dc.Name) = e.DataRow(dc.Name) End If Next End If Else If dr IsNot Nothing Then dr.Delete End If End If End If 老师,勾选复制有一列相同(编号)其他列名称不相同退勾删除编号相同的行。
|
-- 作者:有点蓝 -- 发布时间:2016/10/8 9:06:00 -- If e.DataCol.Name = "A" AndAlso e.DataRow.IsNull("编号") = False Then Dim dr As DataRow = DataTables("表B").Find("编号 = \'" & e.DataRow("编号") & "\'") If e.DataRow(e.DataCol) = True Then If dr Is Nothing Then dr = DataTables("表B").AddNew For Each dc As DataCol In DataTables("表A").DataCols If DataTables("表B").DataCols.Contains(dc.Name) Then dr(dc.Name) = e.DataRow(dc.Name) End If Next End If Else e.DataRow.Delete If dr IsNot Nothing Then dr.Delete End If End If End If
|