在key_down里处理一下位置不行吗?

解决方案 »

  1.   

    增加一个宽度为0的新列,初始SubItems(index) 1000 -〉1nnn的数字
    以后更改该列和上一条(或下一条)内容后
    (ListView1.SelectedItem.SubItems(index)),
    以该列重新排序
      

  2.   

    Dim strKey As String
    Dim iOrder As Integer, i As Integer
      strKey = ListView1.SelectedItem.Key
      iOrder = ListView1.SelectedItem.SubItems(1)
      
      If iOrder = ListView1.ListItems.Count Then Exit Sub
      
      For i = 1 To ListView1.ListItems.Count
        If ListView1.ListItems(i).SubItems(1) = iOrder + 1 Then ListView1.ListItems(i).SubItems(1) = iOrder
      Next i
      
      ListView1.ListItems(strKey).SubItems(1) = iOrder + 1
      
      ListView1.SortKey = 1
      ListView1.Sorted = True '将列表排序。
      

  3.   

    好象有点对,我帮zhuho
    试试,呵呵
      

  4.   

    我现在用的与一样ERR(太阳)的方法,但现在又出现一个问题是数字好象不是按我的要求来排序的!!
      

  5.   

    listview排序是按字符型排序的,所以10会排在2后面
    加1000么If iOrder = ListView1.ListItems.Count Then Exit Sub
    如果加1000,改成
    If iOrder = ListView1.ListItems.Count +1000 Then Exit Sub