2,749
社区成员
发帖
与我相关
我的任务
分享*例如:前三列分别是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