以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]表加载问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=174871) |
-- 作者:crazyfengyu -- 发布时间:2022/2/10 11:01:00 -- [求助]表加载问题 订单表(父表),订单明细表(子表) 2表数据过多,打开项目只加载近半年的 理想结果:订单表加载最近半年,订单明细表加载相关的数据即可。 目前结果:订单表加载最近半年,订单明细表加载了所有数据。 代码一: 在BeforeLoadOuterTable中 If e.DataTableName = "订单表" Then Dim StartDate As Date = Date.Today().AddDays(-180) e.SelectString = *[日期] > \'" & StartDate & "\'" DataTables("订单表").LoadChildren("订单明细表") End If 代码二: 在BeforeLoadOuterTable中 If e.DataTableName = "订单表" Then Dim StartDate As Date = Date.Today().AddDays(-180) e.SelectString = * [日期] > \'" & StartDate & "\'" (sql语法正确,无法发帖,故意删除) End If 然后在订单表的afterLoad事件中加入 e.DataTables.LoadChildren("订单明细表") 以上方法均加载了订单明细表所哟数据,应该如何处理? [此贴子已经被作者于2022/2/10 11:02:04编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/2/10 11:10:00 -- 2个表都设置为初始不加载数据。去掉BeforeLoadOuterTable代码 订单表的afterLoad事件中加入 e.DataTables.LoadChildren("订单明细表") afteropenproject事件 Dim StartDate As Date = Date.Today().AddDays(-180) datatables("订单表").loadfilter = "[日期] > \'" & StartDate & "\'" datatables("订单表").load
|
-- 作者:crazyfengyu -- 发布时间:2022/2/10 11:25:00 -- 这样会打开项目后卡20s左右在加载数据,系统无法操作,感觉有点使用不流畅,还有其他解决办法吗? 可不可以加载完了,在打开项目,避免一打开项目就卡住
[此贴子已经被作者于2022/2/10 11:30:41编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/2/10 11:32:00 -- 在BeforeLoadOuterTable中 If e.DataTableName = "订单表" Then Dim StartDate As Date = Date.Today().AddDays(-180) e.SelectString = "select * from 订单表 where [日期] > \'" & StartDate & "\'" elseif e.DataTableName = "订单明细表" Dim StartDate As Date = Date.Today().AddDays(-180) e.SelectString = "select * from 订单明细表 where 订单编号 in (select 订单编号 from 订单表 where [日期] > \'" & StartDate & "\')" End If |