我想通过Listview的ColumnClick事件实现显示记录的排序,结果它排序内容好像不是按照值排的,而是按照Ascii码排的。例如,我的记录里面有个从1开始的序号,排出来之后是1,10,11,12,...,2,20,...等等。如何实现按照内容大小排序?
另外,如何查看一个工程里面有多少行代码?

解决方案 »

  1.   

    listview有一个排序属性,可以使用
      

  2.   

    如果你是用记录集填充listview的话,倒是可以先将listview给clear掉,然后对记录集排序,然后再填充listview,一切就ok了。
      

  3.   

    Private Sub LVL_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
      On Error GoTo errline
      LVL.SortKey = ColumnHeader.Index - 1
      If order Then
          LVL.SortOrder = lvwAscending
          order = False
      Else
          LVL.SortOrder = lvwDescending
          order = True
      End If
      
      LVL.Sorted = True
      Exit Sub
    errline:
         MsgBox Err.Description, vbExclamation
    End Sub
      

  4.   

    楼上的,我就是这么做的,但是这个烂东西不会按大小排序,而是按ASCII码排序,排出来的记录是:1,10,100,101,102,...
    先将Listview清空倒是能解决问题,但我这个里面的记录有上千条,每次清空再读出效率太低,而且显示结果明显有晃动。
    那位建议用API的老兄,能否说的详细些?
      

  5.   


    日期排序也很简单,用规范成  YYYY-MM-DD格式就可以。