ListView排序是依据于文本的,如果你想按数值排序,我看你只能自己处理了

解决方案 »

  1.   

    试试下面的方法,通过点击listview不同的columnHeader来排序
    Private Sub listview1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
        Screen.MousePointer = 11
        listview1.SortKey = ColumnHeader.Index - 1
        listview1.Sorted = True
        Select Case listview1.SortOrder
            Case 0
                listview1.SortOrder = 1
            Case 1
                listview1.SortOrder = 0
        End Select
        Screen.MousePointer = 0
    End Sub
      

  2.   

    在listview中隐藏一列,其值是格式化的数字,如:
    名称                 '价格'      '价格_'石头                   100       00100
    尖子                   123       00123
    不                     1231      01231
    淡淡                   3         00003位数根据程序决定,当需要按照价格排序时,你实际操作的是按照价格_排序