T terry_zhou82 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-20 #1 我用一个TIMER控件实行每秒刷新DBGRID里面的数据,但是如果数据多的话,闪烁的非常厉害,想知道有么有办法,可以尽量减少其闪烁,用DBGRID.REPAINT ?
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-20 #2 辛苦你的数据不是很多,如果多了,估计你的CPU要100%运行了。在你程序中,增加一个全局变量,当数据发生新增、修改、删除后,将这个全局变量设置为1,timer中,发现这个变量是1再刷新数据,然后将它恢复为0.
辛苦你的数据不是很多,如果多了,估计你的CPU要100%运行了。在你程序中,增加一个全局变量,当数据发生新增、修改、删除后,将这个全局变量设置为1,timer中,发现这个变量是1再刷新数据,然后将它恢复为0.
S songrun Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-20 #3 数据量大,又每秒刷新的话,很耗资源的。B/S中可以分页处理;可以变通下逻辑设计,需要多少显示多少或者看能不能用缓存
T terry_zhou82 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-27 #6 to:znxia那我如何处理oncreate事件呢?万一我事先添加好很多。在重新启动程序,这个全局变量怎么写呢?
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-27 #7 我不知道你的oncreate需要处理什么东西,所以我不好回答你的问题。这个全局变量在oncreate里面设置为0.
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-27 #8 头痛医头,脚痛医脚的办法,启用双缓冲。把form的DoubleBuffered设置为true
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-27 #10 在窗口的create事件内加这么一句。form1.DoubleBuffered:= true;如果效果不明显,那么在加一句stringgrid1.DoubleBuffered:= true;或者把form1.DoubleBuffered:= true;去掉只用stringgrid1.DoubleBuffered:= true;
在窗口的create事件内加这么一句。form1.DoubleBuffered:= true;如果效果不明显,那么在加一句stringgrid1.DoubleBuffered:= true;或者把form1.DoubleBuffered:= true;去掉只用stringgrid1.DoubleBuffered:= true;