以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口闪动问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75674)

--  作者:qinlao666
--  发布时间:2015/10/12 16:47:00
--  窗口闪动问题

老师我在自己做的小例里面(数据和表就几个)设置下列的代码,窗口就不闪动,

可是把这段代码复制我的系统中,数据没刷新一次,就跳一次,这是什么原因呢

是因为我系统中的数据多就好闪动吗?

 

Dim t As Table = Args(0)
Dim flt As String = t.Filter       \'获取过滤条件
Dim Int As Integer = t.Position    \'获取行位置
Dim p As point = t.ScrollPosition  \'获取行在屏幕中位置
Dim frm As WinForm.Form = Forms.ActiveForm
If frm IsNot Nothing Then
    Forms(frm.name).StopRedraw()
    t.StopRedraw
    t.DataTable.Load(True)
    t.Filter = flt
    t.Position = Int
    t.ScrollPosition = p
    t.ResumeRedraw
    Forms(frm.name).ResumeRedraw()
End If

 


--  作者:大红袍
--  发布时间:2015/10/12 16:51:00
--  

加上代码看看

 

Dim t As Table = Args(0)
Dim flt As String = t.Filter       \'获取过滤条件
Dim Int As Integer = t.Position    \'获取行位置
Dim p As point = t.ScrollPosition  \'获取行在屏幕中位置
Dim frm As WinForm.Form = Forms.ActiveForm
If frm IsNot Nothing Then
    Forms(frm.name).StopRedraw()
    t.StopRedraw
    systemready = False
    t.DataTable.Load(True)
    t.Filter = flt
    t.Position = Int
    t.ScrollPosition = p
    systemready = True
    t.ResumeRedraw
    Forms(frm.name).ResumeRedraw()
End If


--  作者:qinlao666
--  发布时间:2015/10/13 10:18:00
--  

老师,在同一个窗口中,绑定已审核的 图片,有的记录闪动,

有的记录又不闪动,这又是怎么回事


--  作者:大红袍
--  发布时间:2015/10/13 10:30:00
--  
例子发上来。
--  作者:qinlao666
--  发布时间:2015/10/13 11:02:00
--  

老师外部SQL数据的列子,能行吗?

 


--  作者:大红袍
--  发布时间:2015/10/13 11:03:00
--  
弄成内部数据源的上传上来看看。
--  作者:qinlao666
--  发布时间:2015/10/13 12:07:00
--  

改成内部数据后一切正常,窗口不闪动,记录也不自动往下跳!

好郁闷啊?老师,这是什么原因啊?


--  作者:大红袍
--  发布时间:2015/10/13 12:08:00
--  

那就是数据较多或者加载较慢的原因导致的。


--  作者:qinlao666
--  发布时间:2015/10/13 14:45:00
--  

老师,有解决的办法吗?

 


--  作者:大红袍
--  发布时间:2015/10/13 14:54:00
--  
 动态load数据的时候,数据量越大,就越慢,延迟就肯定越多。但闪的问题,每次load只会闪一次