以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态加载  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=135287)

--  作者:lfz123
--  发布时间:2019/5/22 19:09:00
--  动态加载
请教:父表的关联子表有多张,同步加载子表时,涉及到子表求和的父表列会定住好几秒才跳出数据,如果数据量大要好几分钟,有啥解决方法啊?
[此贴子已经被作者于2019/5/22 19:13:43编辑过]

--  作者:有点甜
--  发布时间:2019/5/22 20:28:00
--  

1、用哪种加载方式?

 

http://www.foxtable.com/webhelp/scr/2894.htm

 

2、看看是不是有表达式列(引用父表,统计子表)影响了效率


--  作者:lfz123
--  发布时间:2019/5/23 8:37:00
--  回复:(有点甜)1、用哪种加载方式? http:...
我是这样做的喔!

图片点击可在新窗口打开查看此主题相关图片如下:加载代码.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:申请单结构.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2019/5/23 10:32:00
--  
这是正常的。没有什么好办法,可以先去掉表达式,加载后再添加表达式:http://www.foxtable.com/webhelp/scr/1935.htm
--  作者:lfz123
--  发布时间:2019/5/23 15:28:00
--  回复:(有点蓝)这是正常的。没有什么好办法,可以先...
按照您这边的提示在NodeMouseDoubleClick事件中加了代码,但是速度还是很慢啊,是代码有问题吗?
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行
Dim Filter As String
Dim Year As Integer = dr("年")
Dim Month As Integer = dr("月")
Dim day As Integer = dr("日")
Select Case e.Node.Level
    Case 0
        Filter ="Year(申请日期) = " & Year
    Case 1
        Filter ="Year(申请日期) = " & Year & " And Month(申请日期) = " & Month
Case 2
        Filter ="Year(申请日期) = " & Year & " And Month(申请日期) = " & Month & " And Day(申请日期) = " & day
End Select
DataTables("申请单").LoadFilter = Filter
DataTables("申请单").Load()

DataTables("申请单").DataCols("工程金额").Expression = ""
DataTables("申请单").DataCols("费用金额").Expression = ""
DataTables("申请单").DataCols("应付金额").Expression = ""
DataTables("申请单").DataCols("已预支金额").Expression = ""
DataTables("申请单").DataCols("应付余额").Expression = ""
DataTables("申请单").DataCols("专票金额").Expression = ""
DataTables("申请单").DataCols("普票金额").Expression = ""
DataTables("申请单").DataCols("无票金额").Expression = ""
DataTables("申请单").DataCols("欠票金额").Expression = ""
DataTables("申请单").DataCols("多票金额").Expression = ""
DataTables("费用录入").DataCols("费用金额").Expression = ""

DataTables("申请单").DataCols("工程金额").Expression = "Sum(Child(申请单_入库单).含税金额)"
DataTables("费用录入").DataCols("费用金额").Expression = "IIF([摘要] <> \'工程购料\',[金额],0)"
DataTables("申请单").DataCols("费用金额").Expression = "Sum(Child(申请单_费用录入).费用金额)"
DataTables("申请单").DataCols("应付金额").Expression = "IsNull([期初金额],0) + IsNull([工程金额],0) + IsNull([费用金额],0)"
DataTables("申请单").DataCols("已预支金额").Expression = "Sum(Child(申请单_流水账).支出)"
DataTables("申请单").DataCols("应付余额").Expression = "IsNull([应付金额],0)-IsNull([已预支金额],0)"
DataTables("申请单").DataCols("专票金额").Expression = "Sum(Child(申请单_进项发票).发票金额)"
DataTables("申请单").DataCols("普票金额").Expression = "Sum(Child(申请单_费用录入).普票金额)"
DataTables("申请单").DataCols("无票金额").Expression = "Sum(Child(申请单_费用录入).无票金额)"
DataTables("申请单").DataCols("欠票金额").Expression = "Sum(Child(申请单_费用录入).待开金额)"
DataTables("申请单").DataCols("多票金额").Expression = "Sum(Child(申请单_费用录入).多开金额)"
[此贴子已经被作者于2019/5/23 15:28:10编辑过]

--  作者:有点甜
--  发布时间:2019/5/23 16:26:00
--  

 

先清除公式,再load,再恢复公式。