MSHFlexGrid1的数据你大概应该是通过sql查询的得到吧?
如果是,就在查询的sql字符串里加上那个“排序子句”就可以了:
select *** from *** where *** ORDER BY 留言单位
注:小写的和星号,都是你原来的(你那部分没有,仍不要)。大写和汉字是应该添加的(留言单位,这四个字应该换成泥数据库里这一列的名字)
如果不是,我就不知道了。
Option Explicit
Public conn As New ADODB.Connection ''定义数据连接字符串
Public rs As New ADODB.Recordset ''定义记录集
Dim appdisk$, aa$, db$, trecord%, rowsel%, i%, j%
Private Sub Form_Load()
appdisk = Trim(App.Path)
If Right(appdisk, 1) <> "\" Then appdisk = appdisk & "\"
db = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & appdisk & "bwscale.mdb"
conn.CursorLocation = adUseClient
conn.Open db ''打开数据库连接
sSQL=""
sSQL= sSQL & "select 序号,留言单位,留言内容,接收单位 from table"
if Option1.checked=true then
sSQL=sSQL & "order by 留言单位"
end if
rs.Open sSQL, conn, adOpenKeyset, adLockPessimistic ''打开记录集
trecord = rs.RecordCount
MSHFlexGrid1.datasouce = rs
End Sub
Private Sub Option1_Click()
'把msflexgrid1换成mshflexgrid1,先选中你要排序的列,然后单击option1
MSFlexGrid1.Sort = 7
End Sub