如何在单击msflexgrid的某一列表头时,让此列数据排序??
请给代码,谢谢!!

解决方案 »

  1.   

    '其中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
      

  2.   

    当然,你也可以用SQL语句来重新打开记录集,重新填充表格
      

  3.   

    在FLEXGRID的Click事件中加入:
    if HFlex.mouserow=0 then 
      hflex.sort=1
    endif
      

  4.   

    除了楼上的,也可以用recordset(field).sort 来对recordset 排序,然后 msflexgrid.reflash 就行了
      

  5.   

    minajo21的方法: 
    1.   mfg1.Col = mfg1.MouseCol 此句,常出现mfg1.Col实际的得数
    mf为“mfg1.MouseCol+1”,我将其改为:m=mfg1.mousecol
    mfg1.col=m
    就能排序。
    2.单击某一列,正常排序,(在此列后,单击某一列,也能正常排序),但,
    在此列(此列为d,刚排序)前,单击某一列(此列为b),就不能排序,mfg1.mousecol的值仍为上次
    的值,mfg1.mousecol的值没有改变!请问如何解决??