Foxtable(狐表)用户栏目专家坐堂 → 通过addnew的形式将解析json的数据复制到表中,窗口加载慢怎么处理啊?


  共有2195人关注过本帖树形打印复制链接

主题:通过addnew的形式将解析json的数据复制到表中,窗口加载慢怎么处理啊?

帅哥哟,离线,有人找我吗?
guosheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
通过addnew的形式将解析json的数据复制到表中,窗口加载慢怎么处理啊?  发帖心情 Post By:2019/8/7 15:03:00 [只看该作者]

大概500多条数据,需要等6到7秒,该怎么优化啊?

以下代码是在下拉窗口中的afterload事件中:

Dim hc As New HttpClient(http://fp.xinlianhuichuang.com/……)
Dim ret As String = hc.GetData()
    Dim dtb As New DataTableBuilder("明细表")
    dtb.AddDef("合同编号", Gettype(String), 100)
    dtb.AddDef("合同开始日期", Gettype(Date), 20)
dtb.AddDef("合同终止日期", Gettype(Date), 20)
dtb.AddDef("起租日期", Gettype(Date), 20)
dtb.AddDef("签订日期", Gettype(Date), 20)
    dtb.AddDef("项目名称", Gettype(String), 100)
dtb.AddDef("楼栋名称", Gettype(String), 100)
dtb.AddDef("房间名称", Gettype(String), 100)
dtb.AddDef("客户名称", Gettype(String), 100)
dtb.AddDef("租赁类别", Gettype(String), 100)
dtb.AddDef("合同状态", Gettype(String), 50)
    dtb.AddDef("合同面积", Gettype(Double))
dtb.AddDef("经手人", Gettype(String), 50)
dtb.AddDef("租金总额", Gettype(Double), 50)
 dtb.Build()

 

 

For Each ep As JToken In JArray.Parse(ret)
Dim rr As Row=Tables("明细表").addnew()
rr("合同编号")=ep("合同编号")
rr("合同开始日期")=ep("合同开始日期")
rr("合同终止日期")=ep("合同终止日期")
rr("起租日期")=ep("起租日期")
rr("签订日期")=ep("签订日期")
rr("项目名称")=ep("项目名称")
rr("楼栋名称")=ep("楼栋名称")
rr("房间名称")=ep("房间名称")
rr("客户名称")=ep("客户名称")
rr("租赁类别")=ep("租赁类别")
rr("合同状态")=ep("合同状态")
rr("合同面积")=ep("合同面积")
rr("经手人")=ep("经手人")
rr("租金总额")=ep("租金总额")
Next


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/7 15:33:00 [只看该作者]

输出时间记录一下,看慢在哪里?如果是获取接口数据慢,可以提前把数据下载下来。

Tables("明细表").StopRedraw
For Each ep As JToken In JArray.Parse(ret)
Dim rr As Row=Tables("明细表").addnew()
rr("合同编号")=ep("合同编号")
rr("合同开始日期")=ep("合同开始日期")
rr("合同终止日期")=ep("合同终止日期")
rr("起租日期")=ep("起租日期")
rr("签订日期")=ep("签订日期")
rr("项目名称")=ep("项目名称")
rr("楼栋名称")=ep("楼栋名称")
rr("房间名称")=ep("房间名称")
rr("客户名称")=ep("客户名称")
rr("租赁类别")=ep("租赁类别")
rr("合同状态")=ep("合同状态")
rr("合同面积")=ep("合同面积")
rr("经手人")=ep("经手人")
rr("租金总额")=ep("租金总额")
Next
Tables("明细表").ResumeRedraw

 回到顶部
帅哥哟,离线,有人找我吗?
guosheng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2019/8/7 16:10:00 [只看该作者]

测试了一下,接口获取数据用时2秒,将数据写到表里用时不到1秒。

如果是获取接口数据慢,可以提前把数据下载下来。是什么意思啊?只有即时访问接口才是最新的数据吧?


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/7 16:13:00 [只看该作者]

如果数据不是固定的,每次都不同,那就没有办法了。

 回到顶部