以文本方式查看主题

-  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=63460)

--  作者:steven420
--  发布时间:2015/1/21 16:03:00
--  如何让窗口表在筛选数据时不闪?
如下代码中如何避免反复点击筛选按钮时能不闪,因为频繁点击按钮时,即使有些不该显示的数据也能在闪烁的瞬间看到。

Filter = "YNPay = 0"
LockBaseMainForm()
With DataTables("Order")
    .LoadFilter = Filter \'加载条件
    .LoadPage = 0 \'加载第一页
    .LoadTop = 100%
    .StopRedraw
    .Load()
    .ResumeRedraw
End With
UnLockBaseMainForm()

--  作者:steven420
--  发布时间:2015/1/21 16:05:00
--  
ORDER为子表,与主表建立关联,同在一个窗口中联动。每次筛选数据就子表总是闪
--  作者:有点甜
--  发布时间:2015/1/21 16:09:00
--  

 肯定有其它代码影响了吧。

 

 加入systemReady看看

 

http://www.foxtable.com/help/topics/2218.htm

 


--  作者:Bin
--  发布时间:2015/1/21 16:10:00
--  
你应该锁 Tables  而不是Datatable 

Tables  ("XX").StopRedraw

如果是窗口表 tables("窗口名_Table1").StopRedraw

--  作者:steven420
--  发布时间:2015/1/21 16:13:00
--  
看一下帮助不知道用到哪里合适,这种现象只有在关联表时出现,只是一个单独表的话上述代码不会出现闪的情况。请老师指点一下systemReady加到哪合适?
--  作者:有点甜
--  发布时间:2015/1/21 16:15:00
--  
以下是引用steven420在2015-1-21 16:13:00的发言:
看一下帮助不知道用到哪里合适,这种现象只有在关联表时出现,只是一个单独表的话上述代码不会出现闪的情况。请老师指点一下systemReady加到哪合适?

 

头和尾


--  作者:steven420
--  发布时间:2015/1/21 16:23:00
--  
TO bin老师,这样对否,试过了还是闪。
Tables("订单窗口_Table2").StopRedraw
With DataTables("Order")
    \'.StopRedraw
    .loadfilter=""
    .LoadFilter = Filter \'加载条件
    .LoadPage = 0 \'加载第一页
    .LoadTop = 100%
    .Load()
    \'.ResumeRedraw
End With
Tables("订单窗口_Table2").ResumeRedraw

--  作者:Bin
--  发布时间:2015/1/21 16:35:00
--  
SystemReady = False
Tables("订单窗口_Table2").StopRedraw
With DataTables("Order")
    \'.StopRedraw
    .loadfilter=""
    .LoadFilter = Filter \'加载条件
    .LoadPage = 0 \'加载第一页
    .LoadTop = 100%
    .Load()
    \'.ResumeRedraw
End With
Tables("订单窗口_Table2").ResumeRedraw
SystemReady = True

看看

--  作者:steven420
--  发布时间:2015/1/21 16:43:00
--  
还是可以照常执行
--  作者:steven420
--  发布时间:2015/1/21 16:50:00
--  
仍然是闪,也没有报错