Login
网站首页 > 文章中心 > VB6

VB6 ListView1 列表头排序 详细代码

作者:小编 更新时间:2023-10-21 12:28:06 浏览量:65人看过

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

    If ColumnHeader.Index = 0 Then ' 如果是第一列

        ListView1.Sorted = True

        ListView1.SortKey = ColumnHeader.Index - 1

        If ListView1.SortOrder = lvwAscending Then

            ListView1.SortOrder = lvwDescending

        Else

            ListView1.SortOrder = lvwAscending

        End If

    End If

End Sub


上面是一段VB6 通过点击  ListView1的列表头排序的详细代码,网上的代码都是点击所有的列表头都生效,这里  给大家改进了,只点击 某一列的列表头进行操作

上面是一段默认的VB6排序操作, 下面在分享一套 土嘎嘎小编自己写的 排序函数
·.jpg

Private Sub SortListViewDescending()   '将list里的值全部取出  然后在进行下面的排序

    xdata = ""

    For i = 1 To ListView1.ListItems.Count

        xx2 = ListView1.ListItems(i).SubItems(2)

        xx3 = ListView1.ListItems(i).SubItems(3)

        xx4 = ListView1.ListItems(i).SubItems(4)

        xx5 = ListView1.ListItems(i).SubItems(5)

        If ListView1.ListItems(i).ForeColor = vbRed Then

           xdata = xdata & vbCrLf & xx2 & "|@|" & xx3 & "|@|" & xx4 & "|@|" & xx5 & "|@|" & "红色"

        ElseIf ListView1.ListItems(i).ForeColor = &H80000011 Then

           xdata = xdata & vbCrLf & xx2 & "|@|" & xx3 & "|@|" & xx4 & "|@|" & xx5 & "|@|" & "灰色"

        Else

           xdata = xdata & vbCrLf & xx2 & "|@|" & xx3 & "|@|" & xx4 & "|@|" & xx5 & "|@|" & "正常"

        End If

        If ListView1.ListItems(i).Checked Then

           xdata = xdata & "|@|" & "1"

        Else

           xdata = xdata & "|@|" & "0"

        End If

        

        

        xxx5 = ListView1.ListItems(i).SubItems(1)

        If ListView1.ListItems(xxx5).ListSubItems.Item(1).ForeColor = &H80FF& Then

           xdata = xdata & "|@|" & "1"

        Else

           xdata = xdata & "|@|" & "0"

        End If

        

        xxx5 = ListView1.ListItems(i).SubItems(1)

        If ListView1.ListItems(xxx5).ListSubItems.Item(3).ForeColor = &HFF00FF Then

           xdata = xdata & "|@|" & "1"

        Else

           xdata = xdata & "|@|" & "0"

        End If

        

    Next i

End Sub


Public Function SortLinesBynianfen(ByVal inputText As String) '排序函数

    Dim lines() As String

    Dim numbers() As Long

    Dim i As Long, j As Long

    Dim tempLine As String

    Dim tempNum As Long

    lines = Split(inputText, vbCrLf)

    ReDim numbers(LBound(lines) To UBound(lines))

    For i = LBound(lines) To UBound(lines)

         numbers(i) = CLng(Val(lines(i)))      '年份

    Next i

    

    For i = LBound(numbers) To UBound(numbers) - 1

        For j = i + 1 To UBound(numbers)

            If numbers(j) > numbers(i) Then

                tempNum = numbers(i)

                numbers(i) = numbers(j)

                numbers(j) = tempNum

                tempLine = lines(i)

                lines(i) = lines(j)

                lines(j) = tempLine

            End If

        Next j

    Next i

    SortLinesBynianfen = ""

    For i = LBound(lines) To UBound(lines)

        SortLinesBynianfen = SortLinesBynianfen & vbCrLf & lines(i)

    Next i

    SortLinesBynianfen = congshangwangxia(SortLinesBynianfen)

End Function

发挥自己的想想,想好步骤 就可以通过上面的代码进行各种 列的 排序功能

版权声明:倡导尊重与保护知识产权,本站有部分资源、图片来源于网络,如有侵权,请联系我们修改或者删除处理。
转载请说明来源于"土嘎嘎" 本文地址:http://www.tugaga.com/jishu/vb/1756.html
<<上一篇 2023-10-14
下一篇 >> 2023-10-24

编辑推荐

热门文章