用ListView显示从数据库中取出的数据,如何能够实现动态排序(从数据库中取出的数据是无序的)。如点击姓名按照姓名字段排序,点击年龄按照年龄字段排序?

解决方案 »

  1.   

    listView1_ColumnClick事件中
    重新加载ListView的数据就可以了
      

  2.   

    private void lsvDetail_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
    { this.lsvDetail.ListViewItemSorter = new ListViewItemComparer(e.Column);
    this.lsvDetail.Sort();
    }class ListViewItemComparer : IComparer 
    {
    private int col;

    public ListViewItemComparer() 
    {
    col=0;
    }
    public ListViewItemComparer(int column) 
    {
    col=column;
    }
    public int Compare(object x, object y) 
    {
    return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
    }
    }