以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  父表appendload后子表数据消失的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82700)

--  作者:sjzsdu
--  发布时间:2016/3/23 10:26:00
--  父表appendload后子表数据消失的问题
父表客户表设置了afterload事件的代码:e.DataTable.LoadChildren(“客户联系人”)

当客户表中增加一行保存后,QQClient的ReceivedMessage事件触发,使得客户表将新增行appendload,此时子表客户联系人的记录却消失了

有没有好的的办法,也使客户联系人相应的记录appendload进来,而不是load进来

--  作者:大红袍
--  发布时间:2016/3/23 10:32:00
--  

父表appendload这样写

 

Dim str As string = DataTables("表A").LoadFilter

DataTables("表A").appendload("xxx")

DataTables("表A").LoadFilter = str

DataTables("表A").LoadChildren("客户联系人")


--  作者:sjzsdu
--  发布时间:2016/3/23 10:58:00
--  
openQQ及时同步数据的appenload涉及很多子父表的结构,每一个都像这样的话似乎做不了啊,要判断表名,还有子表名,DataTables("表A").LoadChildren("客户联系人")
--  作者:大红袍
--  发布时间:2016/3/23 11:06:00
--  

那,在beforeLoad事件写

 

vars("temp") = e.DataTable.LoadFilter

 

afterLoad事件写

 

e.DataTable.LoadFilter = vars("temp")

e.DataTable.LoadChildren("客户联系人")


--  作者:sjzsdu
--  发布时间:2016/3/23 11:26:00
--  

那,在beforeLoad事件写

 

vars("temp") = e.DataTable.LoadFilter

 

afterLoad事件写

 

e.DataTable.LoadFilter = vars("temp")

e.DataTable.LoadChildren("客户联系人")

这样也不行啊,还是联系人还是消失掉了



--  作者:大红袍
--  发布时间:2016/3/23 11:28:00
--  

 那你AppendLoad的时候不要触发事件啊

 

SystemReady = False

 

DataTables("表A").appendload("xxx")

 

SystemReady= True


--  作者:sjzsdu
--  发布时间:2016/3/23 12:19:00
--  
这样还是不行呢,没效果

SystemReady = False

 

DataTables("表A").appendload("xxx")

 

SystemReady= True


--  作者:大红袍
--  发布时间:2016/3/23 12:20:00
--  
上传实例。
--  作者:sjzsdu
--  发布时间:2016/3/23 13:33:00
--  
SystemReady = False
e.DataRow("第一列") = "阿萨德分"
SystemReady = True
e.DataRow("第二列") = "阿萨德分"

datarowadding事件中测试了一下,第一列和第二列都写进去了,似乎SystemReady这个变量没起作用

--  作者:sjzsdu
--  发布时间:2016/3/23 14:18:00
--  
是哪里出错了