以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:当清除列内容时.删除明细表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23850)

--  作者:kevin
--  发布时间:2012/9/21 16:32:00
--  请教:当清除列内容时.删除明细表

主表 "订单"  其中有一个列 "TD表号"

子表"TD明细"  其中有一个列 "TD表号"

 

以订单编号关联

 

订单表,当清除 TD表号时,自动删除TD明细表(订单号相同的)

 

 

 

 

 


--  作者:lin_hailun
--  发布时间:2012/9/21 16:35:00
--  
如下图设置


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120921163437.png
图片点击可在新窗口打开查看
 
--  作者:kevin
--  发布时间:2012/9/21 16:45:00
--  

我是需要"当清除TD表号列的数据时.自动删除TD表的对应的数据.

 


--  作者:lin_hailun
--  发布时间:2012/9/21 17:51:00
--  
以下是引用kevin在2012-9-21 16:45:00的发言:

我是需要"当清除TD表号列的数据时.自动删除TD表的对应的数据.

 


呵呵,刚刚没看清你的问题。

编写DataRowDeleted事件

Dim drs As List(Of DataRow) = e.DataRow.GetChildRows("TD明细")
For Each dr As DataRow In drs
    dr.Delete()
Next


--  作者:lin_hailun
--  发布时间:2012/9/21 17:52:00
--  
或者这样

Dim Order_num As String = e.DataRow("订单编号")
Dim td_num As String = e.DataRow("TD表号")
DataTables("TD明细").DeleteFor("订单编号 = \'" & order_num & "\' And TD表号 = \'" & td_num & "\'")

--  作者:czy
--  发布时间:2012/9/21 19:10:00
--  

直接用同步删除关联行好了。

另5楼的代码放到DataRowDeleted应该不行吧,删除后执行应该已经没有对应的关联行了。