ListView按指定列排序
来源:互联网 发布:js代码压缩工具 gzip 编辑:程序博客网 时间:2024/05/17 05:51
Public Class ListViewColumnSorterClass ListViewColumnSorter
Implements IComparer
Public SortColumn As Int16
Public order As SortOrder
Private objCompare As CaseInsensitiveComparer
Sub New()Sub New()
order = SortOrder.None
objCompare = New CaseInsensitiveComparer
End Sub
Public Function Compare()Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
Dim result As Int16
Dim listItemA As ListViewItem = TryCast(x, ListViewItem)
Dim listItemB As ListViewItem = TryCast(y, ListViewItem)
result = objCompare.Compare(listItemA.SubItems(SortColumn).Text, listItemB.SubItems(SortColumn).Text)
If order = SortOrder.Ascending Then
Return result
ElseIf order = SortOrder.Descending Then
Return -result
Else
Return 0
End If
End Function
End Class
Implements IComparer
Public SortColumn As Int16
Public order As SortOrder
Private objCompare As CaseInsensitiveComparer
Sub New()Sub New()
order = SortOrder.None
objCompare = New CaseInsensitiveComparer
End Sub
Public Function Compare()Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
Dim result As Int16
Dim listItemA As ListViewItem = TryCast(x, ListViewItem)
Dim listItemB As ListViewItem = TryCast(y, ListViewItem)
result = objCompare.Compare(listItemA.SubItems(SortColumn).Text, listItemB.SubItems(SortColumn).Text)
If order = SortOrder.Ascending Then
Return result
ElseIf order = SortOrder.Descending Then
Return -result
Else
Return 0
End If
End Function
End Class
Private lvwColumnSort As ListViewColumnSorter = Nothing
Private Sub lvwCpt_ColumnClick()Sub lvwCpt_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles lvwCpt.ColumnClick
If lvwColumnSort Is Nothing Then
lvwColumnSort = New ListViewColumnSorter
Me.lvwCpt.ListViewItemSorter = lvwColumnSort
End If
If e.Column = lvwColumnSort.SortColumn Then
If lvwColumnSort.order = SortOrder.Ascending Then
lvwColumnSort.order = SortOrder.Descending
Else
lvwColumnSort.order = SortOrder.Ascending
End If
Else
lvwColumnSort.SortColumn = e.Column
lvwColumnSort.order = SortOrder.Ascending
End If
Me.lvwCpt.Sort()
End Sub
Private Sub lvwCpt_ColumnClick()Sub lvwCpt_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles lvwCpt.ColumnClick
If lvwColumnSort Is Nothing Then
lvwColumnSort = New ListViewColumnSorter
Me.lvwCpt.ListViewItemSorter = lvwColumnSort
End If
If e.Column = lvwColumnSort.SortColumn Then
If lvwColumnSort.order = SortOrder.Ascending Then
lvwColumnSort.order = SortOrder.Descending
Else
lvwColumnSort.order = SortOrder.Ascending
End If
Else
lvwColumnSort.SortColumn = e.Column
lvwColumnSort.order = SortOrder.Ascending
End If
Me.lvwCpt.Sort()
End Sub
对于ListView排序,ListView中的Sort方法主要调用 IComparer 这个接口,只要我们对这个接口实现代码,便可以对指定的任何一列进行 升/降 排序,上面我把它写成一个 类 ,主要你 Copy 到你的代码中稍加修改便可以完成. 不错吧!*_*
- ListView按指定列排序
- ListView 的按列排序
- php二维数组按指定列排序
- jQuery table 按指定列排序
- 按指定列排序 dataframe sort_values
- ListView点击列排序
- ListView列排序(c#)
- listview指定列字体设置
- C# listView按列排序、listView数据快速载入
- ListView的Column排序方法,按列排序
- awk指定多列排序
- ListView点击列头排序
- ListView点击列头排序
- 对ListView任意列排序
- 通过代码实现DataGrid按指定列排序
- 锐浪报表列排序(按指定顺序输出)
- Angularjs轻松实现表格按指定列排序
- Angularjs轻松实现表格按指定列排序
- UG二次开发流程
- 看了一下ruby on rails
- 为Flex 2 DataGrid加上行号
- 让人更受欢迎的28条建议
- After restoring database in SQL Server, if you can't use diagram, execute these sentences
- ListView按指定列排序
- list
- JTS学习-com.vividsolutions.jts.algorithm包
- 6个最常用的Word论文排版技巧
- /*发送消息,单项的传递消息*/
- 这是吿诉自己,要学会...
- OpenGL Study 3
- [分享] Linux下用Anjuta写个Hello World 的C++程序竟如此简单!
- Windows API一日一练(47)CreateSemaphore和ReleaseSemaphore函数