以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  感觉StopRedraw 对窗口table无效?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7458)

--  作者:mr725
--  发布时间:2010/6/24 22:59:00
--  感觉StopRedraw 对窗口table无效?

test为内部表,窗口为SqlTable:

............................

............................

    Tables("查询_Table1").StopRedraw
            Tables("查询_Table1").Fill("Select * From {test} where 总号 = " & dr("总号") & " ",True)
    Tables("查询_Table1").ResumeRedraw

 

上面代码还是出现‘白板’,之后才fill来数据行。  是我的老爷电脑的问题?  大家测试看看。


--  作者:czy
--  发布时间:2010/6/24 23:21:00
--  

如果总号字段是数值型,代码为:Tables("查询_Table1").Fill("Select * From {test} where 总号 = " & dr("总号"),True)

如果总号字段为字符型,代码为:Tables("查询_Table1").Fill("Select * From {test} where 总号 = \'" & dr("总号") & "\'",True)

 


--  作者:czy
--  发布时间:2010/6/24 23:31:00
--  

如果代码执行正确不会出现白板问题,只有当代码执行出错时,因为执行到出错代码时,此代码后面的所有代码会全部终止执行.

你的问题应该是执行Fill方法时代码出现错误导致没有执行重新绘制,这样就出现了白板。


--  作者:mr725
--  发布时间:2010/6/24 23:46:00
--  
c版好仔细啊···    谢谢,我一直没注意这个~     但还是会‘白板’闪烁。。。
--  作者:czy
--  发布时间:2010/6/25 0:19:00
--  

闪烁是有一点。

如果还会出现白板,估计你得加判断,比如判断主表是否有焦点,主表是否有数据行。