以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  loadchildren的加载不了的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126392)

--  作者:我要高飞
--  发布时间:2018/10/20 10:47:00
--  loadchildren的加载不了的问题
表为外部的sqlserver表
我在父表“合同表”的currentchanged事件中设置代码  e.Table.DataTable.loadchildren("合同明细表")
然后在子表“合同明细表”设置默认只加载10%的数据。

按这个逻辑,应该合同表点击任意一行数据后,就会重新根据父表的datatable加载子表的数据。实际操作时currentchanged事件执行时,子表的数据还是默认加载的10%的数据,不会产生任何的变化。请问这是什么原因?

--  作者:有点蓝
--  发布时间:2018/10/20 11:16:00
--  
正常。默认设置会影响到项目里所有的加载。
这样改改:

DataTables("合同明细表").LoadTop = Nothing
e.Table.DataTable.loadchildren("合同明细表")

--  作者:我要高飞
--  发布时间:2018/10/20 11:47:00
--  
以下是引用有点蓝在2018/10/20 11:16:00的发言:
正常。默认设置会影响到项目里所有的加载。
这样改改:

DataTables("合同明细表").LoadTop = Nothing
e.Table.DataTable.loadchildren("合同明细表")

测试了,按这个代码改了,还是不行


--  作者:有点蓝
--  发布时间:2018/10/20 12:02:00
--  
理解错了,DataTable.loadchildren是加载父表所有行对应的子表的数据,并不是加载父表选中的行的子表数据

父表,currentchanged

If e.Table.Current IsNot Nothing
    DataTables("合同明细表").LoadFilter= "编号 = \'" & e.Table.Current("编号") & "\'"
    DataTables("合同明细表").LoadTop = Nothing
    DataTables("合同明细表").Load
End If