表格表头排序问题

risen1968 2012-12-24 05:37:01
1. 有一个表格,点击每个表头都可以升序和降序排序,不管是固定的表还是临时表都可以。
有没有简单的方法,或是VFP已经做好的东西,我想应该有做好的东东吧。(带高亮的记录也跟随索引排序变动)。
拜托!
...全文
234 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
risen1968 2012-12-26
  • 打赏
  • 举报
回复
都很好,谢谢了!
十豆三 2012-12-25
  • 打赏
  • 举报
回复
*例如:前三列分别是f1,f2,f3
*把Grid控件的ColumnCount修改为3或你的列数
*表单的LOAD事件:

Public nF1,nF2,nF3
nF1=0
nF2=0
nF3=0
Use tmp
Index On f1 Tag f1 Of FFHSY
Index On f2 Tag f2 Of FFHSY
Index On f3 Tag f3 Of FFHSY
Set Order To
Go Top

*Grid第一列标头的CLICK事件:
If nF1=0
	Set Order To F1 Ascending &&升序
	This.Caption=Strtran(Strtran(This.Caption,'↑',''),'↓','')+'↑'
	nF1=1
Else
	Set Order To F1 Descending &&降序
	This.Caption=Strtran(Strtran(This.Caption,'↑',''),'↓','')+'↓'
	nF1=0
Endif
For I=2 To 3
	Thisform.Grid1.Columns(I).Header1.Caption=Strtran(Strtran(Thisform.Grid1.Columns(I).Header1.Caption,'↑',''),'↓','')
Endfor
Go Top
Thisform.Grid1.Refresh

*Grid第二列标头的CLICK事件:
If nF2=0
	Set Order To F2 Ascending &&升序
	This.Caption=Strtran(Strtran(This.Caption,'↑',''),'↓','')+'↑'
	nF2=1
Else
	Set Order To F2 Descending &&降序
	This.Caption=Strtran(Strtran(This.Caption,'↑',''),'↓','')+'↓'
	nF2=0
Endif
For I=1 To 3
	If I!=2
		Thisform.Grid1.Columns(I).Header1.Caption=Strtran(Strtran(Thisform.Grid1.Columns(I).Header1.Caption,'↑',''),'↓','')
	Endif
Endfor
Go Top
Thisform.Grid1.Refresh

*Grid第三列标头的CLICK事件:
If nF3=0
	Set Order To F3 Ascending &&升序
	This.Caption=Strtran(Strtran(This.Caption,'↑',''),'↓','')+'↑'
	nF3=1
Else
	Set Order To F3 Descending &&降序
	This.Caption=Strtran(Strtran(This.Caption,'↑',''),'↓','')+'↓'
	nF3=0
Endif
For I=1 To 2
	Thisform.Grid1.Columns(I).Header1.Caption=Strtran(Strtran(Thisform.Grid1.Columns(I).Header1.Caption,'↑',''),'↓','')
Endfor
Go Top
Thisform.Grid1.Refresh

*你还可以设置一个按钮用于取消排序:
Set Orde To
Go Top
Thisform.Grid1.Refresh
tlliqi 2012-12-24
  • 打赏
  • 举报
回复
http://bbs.bccn.net/thread-245879-1-1.html
十豆三 2012-12-24
  • 打赏
  • 举报
回复
参考 VFP 自带帮助文件中的 index 和 set order 命令。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧