VB.NET中LISTVIEW控件点击列首排序问题
来源:互联网 发布:银狐软件官网 编辑:程序博客网 时间:2024/04/29 04:16
最近写的程序需要点击LISTVIEW控件的列首排序,搜索了一下网上的文章代码,很少,而且是C#的代码,看了下MSDN,终于搞清楚了VB的写法,MSDN上只有按照字母顺序排序的,于是我加工了一下,可以选择按照数字、时间排序。
LISTVIEW控件名是LV1
Private Sub LV1_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles LV1.ColumnClick
Select Case LV1.Columns.Item(e.Column).Text
Case "状态"
LV1.ListViewItemSorter = New ListViewItemComparerByInt(e.Column)
Case "编号"
LV1.ListViewItemSorter = New ListViewItemComparerByInt(e.Column)
Case "最后更新时间"
LV1.ListViewItemSorter = New ListViewItemComparerByTime(e.Column)
Case Else
LV1.ListViewItemSorter = New ListViewItemComparerByString(e.Column)
End Select
End Sub
'按照数字排序接口
Class ListViewItemComparerByInt
Implements IComparer
Private col As Integer
Public Sub New()
col = 0
End Sub
Public Sub New(ByVal column As Integer)
col = column
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Return [Decimal].Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text) '数字
End Function
End Class
'按照字母顺序排序接口
Class ListViewItemComparerByString
Implements IComparer
Private col As Integer
Public Sub New()
col = 0
End Sub
Public Sub New(ByVal column As Integer)
col = column
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Return [String].Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text) '按文本比较
End Function
End Class
'按时间顺序排序
Class ListViewItemComparerByTime
Implements IComparer
Private col As Integer
Public Sub New()
col = 0
End Sub
Public Sub New(ByVal column As Integer)
col = column
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Return [Date].Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text) '按时间比较
End Function
End Class
- VB.NET中LISTVIEW控件点击列首排序问题
- vb.net ListView表格控件任意列排序和增加排序小箭头
- ListView点击列排序
- VB.NET中ListView控件的操作
- VB.NET中LISTVIEW排序(原创)
- 重写ListView控件,实现点击列头排序的功能
- 可点击列标题可进行排序的ListView控件
- ListView点击列头排序
- ListView点击列头排序
- [VB.NET]listview问题
- [VB.NET]vb.net中控件的问题
- [VB.NET]关于ListView控件
- VB.NET excel 列排序
- VB.NET 中 使用 ListView 控件的简单例子
- VB.NET 中 使用 ListView 控件的简单例子
- VB.NET中使用ListView控件的简单例子
- 如何按列在 Visual C# 中排序 ListView 控件
- VB.NET中LISTVIEW排序(原创-示例版)
- spring mvc:控制层梳理
- IE6下PNG图片背景透明的处理方法
- js和jquery判断、设置checkbox控件是否选中
- 、和
- 浅析C# 中object sender与EventArgs e
- VB.NET中LISTVIEW控件点击列首排序问题
- 带动态时间提示的页面自动跳转
- C#中的@符号的使用及注意事项
- spring mvc:表单页面处理
- ToString格式转换大全(2)
- ToString格式转换大全(1)
- css透明度的设置 (兼容所有浏览器)
- 递归删除文件夹目录及文件方法代码
- SQL多表查询left join/right join/inner join(join)