以下是引用Moz在2011-2-4 21:50:05的发言:
今天为了实现这个点头排序,找到了这一贴,借用了楼主的几个关键字,简洁一下代码如下:
我用的是可读写的临时表,方便快速显示.
更新数据的时候需要再绑定一次,因为列数会有改变.
DEFINE CLASS grid001 as Grid
RecordsourceType=1
Recordsource="tmp1"
Tag01=.T.
PROCEDURE bindclick()
LOCAL T1
For Each T1 In This.Columns
Bindevent(T1.Controls(1),"Click",This,"grhClick")
Endfor
ENDPROC
PROCEDURE grhClick()
LOCAL T1(1),T2
Aevents(T1,0)
T2=T1(1,1).parent.columnorder
this.RecordSource=""
T2="SELECT * FROM tmp1 ORDER BY "+ALLTRIM(STR(T2))+IIF(this.tag01," ASC "," DESC ")+"INTO CURSOR tmp1 READWRITE"
EXECSCRIPT(T2)
this.Tag01=!this.Tag01
this.RecordSource="tmp1"
this.bindclick
ENDPROC
ENDDEFINE
请教:我想在我的GRID中用这个,但我不知道你这代码该放在哪儿?另外你说更新数据的时候需要再绑定一次,怎样绑定?绑定的代码是什么?放在哪儿?我是学习的新手,请帮助!