如何实现选中行跟着移动啊?
找不到方法:(

解决方案 »

  1.   


    比如有三条数据1 a b
    2 c d
    2 e f
    排序之前2 c d的数据被选中
    排序之后想得到的效果还是2 c d的那条数据被选中
    其中没有哪一列的数据是不可重复的
      

  2.   

    焦点离开了,你怎么选中啊??
    或者说你是在排序完成后焦点回到grid,然后再次选中刚才选中的那条数据??
    如果是第二种情况,你可以在grid里面设置一个不可见的列,然后给在列设置id,id为一个自然数的增量;选中后,取出id放在一个变量里面,排序后,id不会变,然后从变量中取得id,然后让符合条件的行高亮就ok!
      

  3.   

    用ListView吧,有SortOrder属性,MSFlexGrid没有此属性,没有试过。
    Private Sub Lvw_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
        '设置列表浏览器的SortKey属性和Sorted属性
        If Lvw.Sorted And ColumnHeader.Index - 1 = Lvw.SortKey Then
            Lvw.SortOrder = 1 - Lvw.SortOrder
        Else
            Lvw.SortOrder = lvwAscending      '升序
            Lvw.SortKey = ColumnHeader.Index - 1
        End If
        Lvw.Sorted = True
    End Sub