[转] 实现listview控件report视图下任何列头的双向排序

Option Explicit

Private Sub Form_Load()
    
Dim i As Integer
    
Dim itemx As ListItem
    ListView1.View 
= lvwReport
    
With ListView1.ColumnHeaders
        .Add , , 
"编号"600, lvwColumnLeft
    
For i = 1 To 2
        .Add , , 
"内容项" & i, 1000, lvwColumnRight
    
Next
    
End With
        
    
With ListView1.ListItems
    
For i = 1 To 10
        
Set itemx = .Add
        itemx.SubItems(
1= i
        itemx.SubItems(
2= Chr(64 + i)
    
Next
    
End With

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    
With ListView1
        
If (ColumnHeader.Index - 1= .SortKey Then
            .SortOrder 
= (.SortOrder + 1Mod 2
        
Else
            .Sorted 
= False
            .SortOrder 
= 0
            .SortKey 
= ColumnHeader.Index - 1
            .Sorted 
= True
        
End If
    
End With
End Sub
原文地址:https://www.cnblogs.com/temptation/p/429672.html