实现report视图下任何列头的双向排序

发表于:2007-06-21来源:作者:点击数: 标签:
本文向大家展示了listview控件在report视图下任何列头的双向排序技巧,源代码如下 Option Explicit Private Sub Form_Load() Dim i As Integer Dim itemx As ListItem ListView1.View = lvwReport With ListView1.ColumnHeaders .Add , , "编号", 600, lvwCo

     本文向大家展示了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)
  itemx.SubItems(3) = Format(DateAdd("m", i, Date), "yyyy-mm-dd")
  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

原文转自:http://www.ltesting.net