LISTVIEW控件可否根据某一列来进行排序?

解决方案 »

  1.   

    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
         
         ListView1.SortKey = ColumnHeader.Index - 1     If ListView1.SortOrder = lvwDescending Then
              ListView1.SortOrder = lvwAscending
         Else
              ListView1.SortOrder = lvwDescending
         End If     ListView1.Sorted = True
    End Sub
      

  2.   

    http://www.china-askpro.com/msg7/qa00.shtml
    --------------------------
    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader) 
        Dim i As Integer 
        ListView1.SortKey = ColumnHeader.Index - 1 
         
        '以下是按SIZE排序的程序 
        If ColumnHeader.Text = "Size" Then 
         For i = 1 To ListView1.ListItems.Count 
         ListView1.ListItems(i).Text = Format(ListView1.ListItems(i).Text, "000000000000") 
         Next 
         If ListView1.SortOrder = lvwDescending Then 
         ListView1.SortOrder = lvwAscending 
         Else 
         ListView1.SortOrder = lvwDescending 
         End If 
         ListView1.Sorted = True 
         For i = 1 To ListView1.ListItems.Count 
         ListView1.ListItems(i).Text = Val(ListView1.ListItems(i).Text) 
         Next 
         
        End If