| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4978 人关注过本帖
标题:请教grid 排序的问题
只看楼主 加入收藏
lisonshaw
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2008-8-4
收藏
 问题点数:0 回复次数:10 
请教grid 排序的问题
请问各位大虾:
我有一个GRID,里面有数据,我想实现一种效果:单击GRID里COLUMN1里的HEADER1后GRID里的数据自动按COLUMN1排序,该如何实现?
例如:GRID表里有序号,姓名,成绩三项内容,我想实现点击HEADER(序号)后表中的记录自动按序号排列.
搜索更多相关主题的帖子: GRID 排序 
2008-09-13 09:05
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
表建立索引
将当前索引指向序号
就可以了
Select yourtable
ser order to xuhao
thisform.refresh

认真看书学习,弄通Fox主义。
2008-09-13 10:44
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
补充:
例如已经建立了序号.idx、姓名.idx、成绩.idx
USE student inde 序号,姓名,成绩
2008-09-13 13:42
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
在表单上建立一GRID,RECORDSourcetype=0,recordsource=表名,在GRID各列的HEADER1的CLICK事件中写入THISFORM.sortt;
(THIS.PARENT.CONTROLSOURCE,RIGHT(ALLT(THIS.CAPTION),2),VAL(SUBSTRTHIS.PARENT.NAME,7,2)),;
this.Parent.Parent.Name,this.Parent.Parent.RecordSource)   &&**..字段名,升降序,第几列,表名,表名   
在FORM中新建一方法SORTT,代码如下:
LPARAMETERS   xfield,xsort,xcol,xgrid,xtable     &&**..字段名,升降序,第几列,表格名,表名   
  IF   PARAMETERS()<4   
  RETURN   .F.   
  ENDIF   
  SET   INDEX   TO   
  LOCAL   TEM1   
  IF   xsort='△'   
  SELECT   *   FROM   &xtable   ORDER   BY   &xfield   DESC   INTO   CURSOR   TEM1   
  ELSE   
  SELECT   *   FROM   &xtable   ORDER   BY   &xfield   ASC   INTO   CURSOR   TEM1   
  ENDIF   
  IF   _tally>0     
  SELECT   (xtable)   
  ZAP   
  APPEND   FROM   DBF('TEM1')   
  ELSE   
  RETURN     
  ENDIF     
  vst='thisform.'+xgrid   
  IF   !EMPTY(vst)   
  FOR   i=1   TO   &vst..COLUMNCOUNT       &&**..先去掉▽(△)再加△(▽)   
  st0=vst+'.COLUMN'+ALLT(STR(i))+'.HEADER1.CAPTION'   
  IF   AT(RIGHT(ALLT(&st0),2),"▽△")!=0   
  &st0.=LEFT(ALLT(&st0),LEN(ALLT(&st0))-2)   
  ENDIF   
  IF   i=xcol &&**..第几例   
  IF   AT(xsort,"▽△")=0.OR.xsort="▽"   
  &st0.=&st0+"△"   
  ELSE   
  &st0.=&st0+"▽"   
  ENDIF   
  ENDIF   
  ENDFOR   
  ENDIF   
  SELECT   (xtable)   
  THISFORM.refresh     
  SELECT   (xtable)   
  GO   TOP     
  THISFORM.refresh

[[it] 本帖最后由 ibmlang_002 于 2008-9-13 14:19 编辑 [/it]]
2008-09-13 14:17
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
楼上两位,就一个复合索引文件,随表打开自动而打开。
整这么复杂!?

认真看书学习,弄通Fox主义。
2008-09-13 14:27
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
这是通用的,用不着索引文件。如果我有100个字段,你建100个索引吗?

[[it] 本帖最后由 ibmlang_002 于 2008-9-13 14:36 编辑 [/it]]
2008-09-13 14:35
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
一个表即使有100个字段,未必都需要建立索引。
就是一个小土堆,一个小推车就解决问题,开来一辆大卡车,有必要吗?

认真看书学习,弄通Fox主义。
2008-09-13 15:02
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
同意wzxc,学习了。
2008-09-13 15:16
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
呵呵,比喻得很好
2008-09-13 18:21
午丁
Rank: 1
等 级:新手上路
威 望:1
帖 子:71
专家分:0
注 册:2008-3-19
收藏
得分:0 
[bo][un]ibmlang_002[/un] 在 2008-9-13 14:35 的发言:[/bo]

这是通用的,用不着索引文件。如果我有100个字段,你建100个索引吗?


不用索引又如何处理?100各字段是吧?仅当命令用用,一行 index on 结了,生成索引文件,可以删除也可以覆盖,随手将来,有何不可?!
2008-09-13 23:26
快速回复:请教grid 排序的问题
数据加载中...
 
   



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

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