首页 > 解决方案 > 在 vb.net 中对列表视图进行排序

问题描述

我制作了一个玩家排名的列表视图并对其进行排序。(按玩家积分)我将第一列留空,以便在排序后对玩家进行排名。但是当我添加玩家位置时,它会在排序之前将其添加到列表中

Sub sortLv1()
        Lv1.Sorting = SortOrder.Descending
        Lv1.ListViewItemSorter = New ListViewItemComparer2(2, Lv1.Sorting)
        Lv1.Sort()
End Sub

现在,在我对其进行排序之后,我想添加位置并将领导者标记为蓝色

Sub paintLeader()

        For i = 0 To Lv1.Items.Count - 1
            Lv1.Items(i).Text = CStr(i + 1)
            If i = 0 Then
                Lv1.Items(0).ForeColor = Color.Blue
            Else
                Lv1.Items(i).ForeColor = Color.Purple
            End If
        Next
    End Sub

我在附图中得到的 在此处输入图像描述

看起来它在排名之后对列表进行排序,即使我之前调用了排序

标签: vb.netsortinglistview

解决方案


问题是我试图在它处于visual=False状态时对其进行排序。


推荐阅读