| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3591 人关注过本帖, 1 人收藏
标题:今天无意发现解决Grid白屏问题。
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册: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
快速回复:今天无意发现解决Grid白屏问题。
数据加载中...
 
   



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

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