标题:今天无意发现解决Grid白屏问题。
只看楼主
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用hu9jj在2015-12-22 22:09:28的发言:

是建立一个自由表,可以通过ZAP来清除原有记录,再将查询到的临时表添加到自由表中,最后刷新表格。

难怪,我有几个表单,用的是自由表(.DBF),好像没出现过白屏,有几个表单,用的是临时表,就出现过白屏。原来问题在这里。。

同样,我用27楼说的,用临时表做数据源,也可以。用我自己的方法也可以。

1、我自己的方法,GRID用的是临时表,在查询数据前,先改变GRID的数据源,如:
select * from sql_table_tmp1 where .f. into cursor sql_table_tmp2 readwrite
THISFORM.Grid1.RECORDSOURCE=''
THISFORM.Grid1.COLUMNCOUNT = -1
THISFORM.Grid1.RECORDSOURCE=ALIAS()

sqlexec(nhandle,'select * from sql_table','sql_table')
if used('sql_table')
   select * from sql_table into cursor sql_table_tmp1 readwrite
   THISFORM.Grid1.RECORDSOURCE=''
   THISFORM.Grid1.COLUMNCOUNT = -1
   THISFORM.Grid1.RECORDSOURCE=ALIAS()
   use in sql_table
endif

2、就是27楼的方法
THISFORM.Grid1.RECORDSOURCE=NULL
sqlexec(nhandle,'select * from sql_table','sql_table')
if used('sql_table')
   select * from sql_table into cursor sql_table_tmp1 readwrite
   THISFORM.Grid1.RECORDSOURCE=''
   THISFORM.Grid1.COLUMNCOUNT = -1
   THISFORM.Grid1.RECORDSOURCE=ALIAS()
   use in sql_table
endif

3、就是用自由表做GRID的数据源,查询前用ZAP清空数据,查询后,APPEND FROM 来更新数据



[此贴子已经被作者于2015-12-23 09:17编辑过]

2015-12-23 09:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460180-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.082577 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved