如何排序MSHFlexGrid中的内容,如何筛选某一范围内的内容????

解决方案 »

  1.   

    用Listview的報表式吧,
    列頭可以單擊,設個屬性就可以排序了。
      

  2.   

    '单击表格列头进行排序
    Public Sub GridOrderBy(ByVal MSHGrid As MSHFlexGrid)
      Dim i As Integer
      MSHGrid.Col = MSHGrid.MouseCol
      If MSHGrid.MouseRow = 0 Then
        If InStr(1, MSHGrid.TextMatrix(0, MSHGrid.MouseCol), "▲") > 0 Then
          MSHGrid.Sort = 2
          MSHGrid.TextMatrix(0, MSHGrid.MouseCol) = Left(MSHGrid.TextMatrix(0, MSHGrid.MouseCol), Len(MSHGrid.TextMatrix(0, MSHGrid.MouseCol)) - 1) & "▼"
        Else
          If InStr(1, MSHGrid.TextMatrix(0, MSHGrid.MouseCol), "▼") > 0 Then
            MSHGrid.Sort = 1
            MSHGrid.TextMatrix(0, MSHGrid.MouseCol) = Left(MSHGrid.TextMatrix(0, MSHGrid.MouseCol), Len(MSHGrid.TextMatrix(0, MSHGrid.MouseCol)) - 1) & "▲"
          Else
            MSHGrid.Sort = 1
            For i = 0 To MSHGrid.Cols - 1
              If InStr(1, MSHGrid.TextMatrix(0, i), "▲") > 0 Or InStr(1, MSHGrid.TextMatrix(0, i), "▼") Then
                 MSHGrid.TextMatrix(0, i) = Left(MSHGrid.TextMatrix(0, i), Len(MSHGrid.TextMatrix(0, i)) - 1)
              End If
            Next
            MSHGrid.TextMatrix(0, MSHGrid.MouseCol) = MSHGrid.TextMatrix(0, MSHGrid.MouseCol) & "▲"
          End If
        End If
      End If
    Private Sub MSHFlexGrid1_Click()
        Call GridOrderBy(MSHFlexGrid1)
    End Sub