1、首先在表单中新建一个方法,命名为:headerclick写入如下代码:=AEVENT(aSourceObj, 0) oSourceObj = aSourceObj[1] cRowName=osourceobj.CAPTION cgrid='thisform.grid1' &&&&表格的名字ogrid=&cgrid cfilename=ogrid.RECORDSOURCEIF EMPTY(cfilename) OR SELECT(cfilename)=0 RETURN ENDIF
2、ogrid.RECORDSOUR觊皱筠桡CE='' SELECT * FROM (cfilename) INTO CURSOR 烫喇霰嘴(cfilename+'_tmp') USE IN (cfilename) SELECT * FROM (cfilename+'_tmp') ORDER BY &crowname INTO DBF (cfilename) USE IN (cfilename+'_tmp')ogrid.RECORDSOURCE=cfilename SELECT(cfilename) GOTO TOP ogrid.SETFOCUS
3、然后在表格的refresh(刷新方法)里写入如下代码:cgrid='thisform.'+ALLT伊怕锱鳏RIM(this.name) ogrid=&cgrid FOR gnCount = 1 TO this.columncount && header代理 cheader='this.column'+alltrim(str(gncount))+'.header1' oheader=&cheader oheader.tooltiptext='单击按本列值重新排序表格数据' BINDEVENT(oheader,"Click",thisform,"headerclick") NEXT
4、当表格装载数据后,刷新表格(运行方法thisform.grid1.refresh),即可将表格中header的click事件设置为自定义方法的代理。
5、当单击表格header时,即运行headerclick自定义方法,将表格数据源表重新排格。