以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表切换问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95093)

--  作者:rjh4078
--  发布时间:2017/1/10 10:08:00
--  表切换问题
现在项目有90多个表 每次设计切换表的时候 表标题会在那不停的闪 直到切换完成 这个等待时间差不多要7 8秒 有没有解决方法
--  作者:有点色
--  发布时间:2017/1/10 10:13:00
--  

1、是不是你MainTableChanged等事件写了什么代码?

 

2、是不是你prepareEdit、drawcell写了什么耗时的代码?


--  作者:rjh4078
--  发布时间:2017/1/10 12:46:00
--  

1.表切换事件里没有代码

2.表的prepareEdit、drawcell事件中有一些代码 但也不是非常耗时的 就是一些引用初始化 比如某个列引用那个表作为下拉列表 有这样事件的表大概有30多个


--  作者:有点蓝
--  发布时间:2017/1/10 13:47:00
--  
什么东西多了都会闪。90个表不算少了。可以考虑动态加载和按需加载
--  作者:有点色
--  发布时间:2017/1/10 14:16:00
--  
 加入一两个新的表,然后在新表之间切换看是否有问题,如果也有问题,才是不正常的。
--  作者:rjh4078
--  发布时间:2017/1/10 14:43:00
--  
可能我表达的不清楚  我说的闪 是指表标题 比如A1-A90 这些标题会在我切换的时候 快速的变换 直到变换完成切换到我的表 如果2个挨着的表就不会 比如A1 切到A2 很快 但是从A1切换到A90就会这样
--  作者:有点色
--  发布时间:2017/1/10 14:51:00
--  

我运行下面的代码

 

For i As Integer = 1 To 100
    Dim dtb As New DataTableBuilder("统计" & i)
    dtb.AddDef("产品", Gettype(String), 32)
    dtb.AddDef("客户", Gettype(String), 32)
    dtb.AddDef("数量", Gettype(Integer))
    dtb.AddDef("金额", Gettype(Double))
    dtb.Build()
Next

 

然后测试切换,并没有闪烁,大概3秒左右切换。对于这个,是正常现象,无法规避。


--  作者:rjh4078
--  发布时间:2017/1/10 15:03:00
--  

好的