击Grid控件的列标头,然后数据按此列进行升序或降序排序
出现“字段1已经存在,改写吗?”的提示框,请问是什么原因?
我参照的代码:
PUBLIC nF1,nF2,nF3
nF1=0
nF2=0
nF3=0
USE 表名
INDE ON 字段1 TAG 字段1
INDE ON 字段2 TAG 字段2
INDE ON 字段3 TAG 字段3
SET ORDE TO
*GRID第一列标头的CLICK事件:
IF nF1=0
SET ORDE TO 字段1 ASCENDING &&升序
nF1=1
ELSE
SET ORDE TO 字段1 DESCENDING &&降序
nF1=0
ENDIF
THISFORM.grid1.REFRESH
*GRID第二列标头的CLICK事件:
IF nF2=0
SET ORDE TO 字段2 ASCENDING &&升序
nF2=1
ELSE
SET ORDE TO 字段2 DESCENDING &&降序
nF2=0
ENDIF
THISFORM.grid1.REFRESH
*GRID第三列标头的CLICK事件:
IF nF3=0
SET ORDE TO 字段3 ASCENDING &&升序
nF3=1
ELSE
SET ORDE TO 字段3 DESCENDING &&降序
nF3=0
ENDIF
THISFORM.grid1.REFRESH
问题点数:20、回复次数:10Top
1 楼dfwxj(清风)回复于 2005-08-18 00:07:53 得分 5
加上一句:
set safe offTop
2 楼apple_8180(十豆三)回复于 2005-08-18 08:40:47 得分 0
对,在初始化时加此句Top
3 楼smalllove(小爱)回复于 2005-08-18 09:04:43 得分 0
出现文件必须以独占方式打开Top
4 楼apple_8180(十豆三)回复于 2005-08-18 09:09:24 得分 0
初始化时加此句
SET EXCLUSIVE ON
或
打开表时:
use 表名 EXCLUSIVETop
5 楼smalllove(小爱)回复于 2005-08-18 09:33:50 得分 0
为什么用了这个排序后,打开该界面的时候很慢,要等很久才可以打开,速度太慢了,是什么原因了,解析下!Top
6 楼apple_8180(十豆三)回复于 2005-08-18 10:01:54 得分 0
慢可能是在建索引,你的表很大吧。Top
7 楼smalllove(小爱)回复于 2005-08-18 10:40:27 得分 0
是呀,我的表记录有两万到三万条,字段有20多个。
我用单步调试的时候,发现如你所说的,在(inde on 字段 tag 字段)的时候速度很慢,有什么好的方法解决吗?Top
8 楼apple_8180(十豆三)回复于 2005-08-18 11:52:38 得分 0
把复合索引改为非结构化复合索引,这样可以提高速度,如:
INDE ON 字段1 TAG 字段1 OF FFHSY
INDE ON 字段2 TAG 字段2 OF FFHSY
INDE ON 字段3 TAG 字段3 OF FFHSYTop
9 楼smalllove(小爱)回复于 2005-08-18 12:05:06 得分 0
还是很慢!Top
10 楼apple_8180(十豆三)回复于 2005-08-18 12:12:41 得分 15
你用下面第一种方法试试,如果速度还没有改善,就只能这样了,因为你的数据太多。
请参考:FAQ -
<如何实现点击Grid控件的列标头,然后数据按此列进行升序或降序排序?>
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=208825
另:数据中有没有不需要查询的数据,可以把数据筛选出来,这样应该快的。
Top




