在Winform中,如何在列表视图列中添加排序列功能?

用户名

在Winform中,如何在列表视图列中添加排序列功能?

我无法找到允许>

谢谢

马特·威尔科

您必须编写自己的实现类IComparer

然后,您编写一个IComparer.Compare在该类中实现的Compare方法

以下是我前一段时间写的一个示例,该示例按数字,日期或字符串排序,但是您可以修改此代码以供自己使用:

Public Class ListViewComparer
    Implements IComparer

    Private _columnNumber As Integer
    Private _sortOrder As SortOrder

    Public Sub New(ByVal colIndex As Integer, ByVal sortingOrder As SortOrder)
        _columnNumber = colIndex
        _sortOrder = sortingOrder
    End Sub

    ' Compare the items in the appropriate column
    ' for objects x and y.
    Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
        Dim itemX As ListViewItem = DirectCast(x, ListViewItem)
        Dim itemY As ListViewItem = DirectCast(y, ListViewItem)
        Dim stringX As String = "", stringY As String = ""
        ' Get the sub-item values.

        If itemX.SubItems.Count > _columnNumber Then stringX = itemX.SubItems(_columnNumber).Text
        If itemY.SubItems.Count > _columnNumber Then stringY = itemY.SubItems(_columnNumber).Text

        ' Compare them.
        If _sortOrder = SortOrder.Ascending Then
            If IsNumeric(stringX) And IsNumeric(stringY) Then
                Return CInt(stringX).CompareTo(CInt(stringY))
            ElseIf IsDate(stringX) And IsDate(stringY) Then
                Return DateTime.Parse(stringX).CompareTo(DateTime.Parse(stringY))
            Else
                Return String.Compare(stringX, stringY)
            End If
        Else
            If IsNumeric(stringX) And IsNumeric(stringY) Then
                Return CInt(stringY).CompareTo(CInt(stringX))
            ElseIf IsDate(stringX) And IsDate(stringY) Then
                Return DateTime.Parse(stringY).CompareTo(DateTime.Parse(stringX))
            Else
                Return String.Compare(stringY, stringX)
            End If
        End If
    End Function
End Class

用法:

ListViewControl1.ListViewItemSorter = New ListViewComparer(2, SortOrder.Ascending)
ListViewControl1.Sort()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Winform中,如何在列表视图列中添加排序列功能?

来自分类Dev

如何在activeadmin rails的过滤器下拉列表中添加排序的元素

来自分类Dev

在列表中添加排序的元素

来自分类Dev

如何在列表视图列表项中对齐值?

来自分类Dev

如何在列表视图列表项中对齐值?

来自分类Dev

如何在列表视图列中显示多个列?

来自分类Dev

如何在不同表的列表视图列中显示

来自分类Dev

如何在视图列表中显示<string>

来自分类Dev

如何在此查询中添加排序(按DESC排序)

来自分类Dev

Rails:如何在一个视图中将项目逐步添加到排序列表中

来自分类Dev

如何在AWS Redshift中向现有表添加排序键

来自分类Dev

如何在下面显示的聚合查询中添加排序、限制和跳过?

来自分类Dev

如何在排序列中添加+1

来自分类Dev

如何在c#Winform App中将复选框添加到列表视图列标题?

来自分类Dev

如何在引导程序缩略图列表中创建引导程序列

来自分类Dev

如何在Java中的排序列表中插入元素

来自分类Dev

如何从可排序列表中删除动态添加的项目?

来自分类Dev

如何从可排序列表中删除动态添加的项目?

来自分类Dev

Android:如何更新“回收者”视图列表中的单行

来自分类Dev

如何在react-admin中向列表视图添加永久过滤器功能?

来自分类Dev

如何在python排序列表中获得正确的结果

来自分类Dev

如何在Go中获取地图键的排序列表?

来自分类Dev

如何在Perl中重新排序列表元素

来自分类Dev

如何在Perl中返回排序列表的索引?

来自分类Dev

如何在C#中显示和排序列表?

来自分类Dev

如何在R中访问排序列表的元素

来自分类Dev

在oracle的视图列中添加注释

来自分类Dev

更新卡片视图列表中的文本?

来自分类Dev

如何在Java 8中拼合地图列表

Related 相关文章

  1. 1

    在Winform中,如何在列表视图列中添加排序列功能?

  2. 2

    如何在activeadmin rails的过滤器下拉列表中添加排序的元素

  3. 3

    在列表中添加排序的元素

  4. 4

    如何在列表视图列表项中对齐值?

  5. 5

    如何在列表视图列表项中对齐值?

  6. 6

    如何在列表视图列中显示多个列?

  7. 7

    如何在不同表的列表视图列中显示

  8. 8

    如何在视图列表中显示<string>

  9. 9

    如何在此查询中添加排序(按DESC排序)

  10. 10

    Rails:如何在一个视图中将项目逐步添加到排序列表中

  11. 11

    如何在AWS Redshift中向现有表添加排序键

  12. 12

    如何在下面显示的聚合查询中添加排序、限制和跳过?

  13. 13

    如何在排序列中添加+1

  14. 14

    如何在c#Winform App中将复选框添加到列表视图列标题?

  15. 15

    如何在引导程序缩略图列表中创建引导程序列

  16. 16

    如何在Java中的排序列表中插入元素

  17. 17

    如何从可排序列表中删除动态添加的项目?

  18. 18

    如何从可排序列表中删除动态添加的项目?

  19. 19

    Android:如何更新“回收者”视图列表中的单行

  20. 20

    如何在react-admin中向列表视图添加永久过滤器功能?

  21. 21

    如何在python排序列表中获得正确的结果

  22. 22

    如何在Go中获取地图键的排序列表?

  23. 23

    如何在Perl中重新排序列表元素

  24. 24

    如何在Perl中返回排序列表的索引?

  25. 25

    如何在C#中显示和排序列表?

  26. 26

    如何在R中访问排序列表的元素

  27. 27

    在oracle的视图列中添加注释

  28. 28

    更新卡片视图列表中的文本?

  29. 29

    如何在Java 8中拼合地图列表

热门标签

归档