点一下排一次,可以用DataGrid,它自带这一个属性。

解决方案 »

  1.   

    我前几天刚做的,你看看比较类:
    public class ListViewItemComparer : IComparer 
    {
    private int col;
    private bool convert; public ListViewItemComparer(int column,bool cvt) 
    {
    col=column;
    convert=cvt;
    }
    public int Compare(object x, object y) 
    {
    if(convert)
    return String.Compare(((ListViewItem)y).SubItems[col].Text, ((ListViewItem)x).SubItems[col].Text);
    else
    return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
    }
    }应用:
    private int CurrentColumn = -1; //记录上次点击的列号
    private bool Convert = false; //记录正逆序信息private void listView_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
    {
    if(CurrentColumn == e.Column)
    {
    //相临两次点击同一列,排序顺序倒置
    Convert = !Convert;
    this.listView.ListViewItemSorter = new ListViewItemComparer(e.Column, Convert);
    }
    else
    {
    //相临两次点击不同列,记录本次点击的列号
    CurrentColumn = e.Column;
    //正排序
    Convert = false;
    this.listView.ListViewItemSorter = new ListViewItemComparer(e.Column, Convert);
    } //数据排序
    listView.Sort();
    }
      

  2.   

    ListView.Sorting  private void CreateMyListView()
          {
             // Create a new ListView control.
             ListView listView1 = new ListView();
             listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200));         // Set the view to show details.
             listView1.View = View.Details;
             // Allow the user to edit item text.
             listView1.LabelEdit = true;
             // Allow the user to rearrange columns.
             listView1.AllowColumnReorder = true;
             // Display check boxes.
             listView1.CheckBoxes = true;
             // Select the item and subitems when selection is made.
             listView1.FullRowSelect = true;
             // Display grid lines.
             listView1.GridLines = true;
             // Sort the items in the list in ascending order.
             listView1.Sorting = SortOrder.Ascending;
                         
             // Create three items and three sets of subitems for each item.
             ListViewItem item1 = new ListViewItem("item1",0);
             // Place a check  next to the item.
             item1.Checked = true;
             item1.SubItems.Add("1");
             item1.SubItems.Add("2");
             item1.SubItems.Add("3");
             ListViewItem item2 = new ListViewItem("item2",1);
             item2.SubItems.Add("4");
             item2.SubItems.Add("5");
             item2.SubItems.Add("6");
             ListViewItem item3 = new ListViewItem("item3",0);
             // Place a check  next to the item.
             item3.Checked = true;
             item3.SubItems.Add("7");
             item3.SubItems.Add("8");
             item3.SubItems.Add("9");         // Create columns for the items and subitems.
             listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
             listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
             listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
             listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);         //Add the items to the ListView.
                      listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});         // Create two ImageList objects.
             ImageList imageListSmall = new ImageList();
             ImageList imageListLarge = new ImageList();         // Initialize the ImageList objects with bitmaps.
             imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp"));
             imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp"));
             imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp"));
             imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp"));         //Assign the ImageList objects to the ListView.
             listView1.LargeImageList = imageListLarge;
             listView1.SmallImageList = imageListSmall;         // Add the ListView to the control collection.
             this.Controls.Add(listView1);
          }
      

  3.   

    我没用数据库啊,怎么用DataGrid
      

  4.   

    DataGrid不一定就是用数据库的。你可以自定义一下数据集(非标准的),这样也行呀。而且它所完成的功能比ListView要多一点。
      

  5.   


     cnhgj(戏子) ( )我现在用的就是这样的,可是没有解决我现在的问题
     回复人: BeyondLove2000(马) ( ) 信誉:100  2003-08-29 13:29:00  得分:0 好象可以,谢谢