'其中select case 是根据内容的类型来排序 Private Sub mfg1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) If y < mfg1.CellHeight Then mfg1.Row = 0 mfg1.Col = mfg1.MouseCol Select Case mfg1.Col Case 1, 2, 3 mfg1.Sort = flexSortNumericAscending Case 4 mfg1.Sort = flexSortGenericAscending End Select End If End Sub
当然,你也可以用SQL语句来重新打开记录集,重新填充表格
在FLEXGRID的Click事件中加入: if HFlex.mouserow=0 then hflex.sort=1 endif
Private Sub mfg1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If y < mfg1.CellHeight Then
mfg1.Row = 0 mfg1.Col = mfg1.MouseCol
Select Case mfg1.Col
Case 1, 2, 3
mfg1.Sort = flexSortNumericAscending
Case 4
mfg1.Sort = flexSortGenericAscending
End Select
End If
End Sub
if HFlex.mouserow=0 then
hflex.sort=1
endif
1. mfg1.Col = mfg1.MouseCol 此句,常出现mfg1.Col实际的得数
mf为“mfg1.MouseCol+1”,我将其改为:m=mfg1.mousecol
mfg1.col=m
就能排序。
2.单击某一列,正常排序,(在此列后,单击某一列,也能正常排序),但,
在此列(此列为d,刚排序)前,单击某一列(此列为b),就不能排序,mfg1.mousecol的值仍为上次
的值,mfg1.mousecol的值没有改变!请问如何解决??