解决方案 »

  1.   

    说的再详细一点最简单的就是你找个arraylist之类的记住顺序
    然后重新绑定
      

  2.   

    我是这样写的,但是有问题,提示“index不能为-1”
    private void listView_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
    {
    this.listView.ListViewItemSorter = new ListViewItemComparer(e.Column);
    this.listView.Sort();

    }
    class ListViewItemComparer : IComparer 
    {
    private int col;
    public ListViewItemComparer() 
    {
    col=0;
    }
    public ListViewItemComparer(int column) 
    {
    col=column;
    }
    public int Compare(object x, object y) 
    {
    if(col ==0)//按Check排序
    return ((ListViewItem)y).Checked.CompareTo(((ListViewItem)x).Checked);
    else//按字符排序
    return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
    }
    }
      

  3.   

    Checked就两个值:true/false,那其他的怎么排序呢?
    你只能取出来存起来,然后重新绑定,绑定后,对于checked为true的,再设置一下。
    没有好的办法。
      

  4.   

    TO lovvver(春晖) :ListViewItem怎样绑定啊!我的方法不行吗?