实现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  +   1 Mod   2
        
Else
            .Sorted 
=   False
            .SortOrder 
=   0
            .SortKey 
=  ColumnHeader.Index  -   1
            .Sorted 
=   True
        
End   If
    
End   With
End Sub

你可能感兴趣的:(ListView)