WEB개발

비주얼베이직 6.0 리스트뷰 정렬기능

스쿠터로세계일주 2009. 11. 25. 18:10

리스트뷰에서 컬럼헤더는 있다...하지만 정렬은 어떻게?

 

물론 속성에서 기본정렬을 맞춰줄 수는 있지만 이는 하나의 규칙밖에 만들 지 못한다.

 

많이들 보는 것처럼 컬럼헤더를 클릭하면 그 컬럼의 데이타를 중심으로 재정렬을 하게하려면 어떻게 할까?

 

아래부분을 해당 리스트뷰에 넣어준다. 물론  ListView1 이름은 다를 수 있다.

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)    With ListView1
        .SortKey = ColumnHeader.Index - 1
   
        If .SortOrder = lvwAscending Then
            .SortOrder = lvwDescending
        Else
            .SortOrder = lvwAscending
        End If
       
    '이 아래부분은 추가로 컬럼에 리스트 순서대로 숫자를 1부터 찍어주는 부분이다.(1번 섭아이템에)


    For intLoop = 1 To ListView1.ListItems.Count Step 1 
    
        ListView1.ListItems.Item(intLoop).SubItems(1) = intLoop   
    Next            
        
    End With
End Sub