zoukankan      html  css  js  c++  java
  • 在Winform中如何实现ListView排序

    Winform中的ListView排序是一种常用的功能,下面是例子代码,放上来留个备份
    using System;
    using System.Windows.Forms;
    using System.Drawing;
    using System.Collections;

    namespace ListViewSortFormNamespace

        
    public class ListViewSortForm : Form
        
    {
            
    private ListView listView1;
           
            
    public ListViewSortForm()
            
    {
                ListViewItem listViewItem1 
    = new ListViewItem(new string[] {"Banana","a","b","c"}-1, Color.Empty, Color.Yellow, null);
                ListViewItem listViewItem2 
    = new ListViewItem(new string[] {"Cherry","v","g","t"}-1, Color.Empty, Color.Red, new Font("Microsoft Sans Serif"8.25F, FontStyle.Regular, GraphicsUnit.Point, ((System.Byte)(0))));
                ListViewItem listViewItem3 
    = new ListViewItem(new string[] {"Apple","h","j","n"}-1, Color.Empty, Color.Lime, null);
                ListViewItem listViewItem4 
    = new ListViewItem(new string[] {"Pear","y","u","i"}-1, Color.Empty, Color.FromArgb(((System.Byte)(192)), ((System.Byte)(128)), ((System.Byte)(156))), null);
         
                
    this.listView1 = new ListView();

                
    this.listView1.Sorting = SortOrder.None;
                
    this.listView1.View = View.Details;
                
    this.listView1.Columns.Add(new ColumnHeader());
                
    this.listView1.Columns[0].Text = "Column 1";
                
    this.listView1.Columns[0].Width = 100;
                listView1.Columns.Add(
    new ColumnHeader());
                listView1.Columns[
    1].Text = "Column 2";
                listView1.Columns.Add(
    new ColumnHeader());
                listView1.Columns[
    2].Text = "Column 3";
                listView1.Columns.Add(
    new ColumnHeader());
                listView1.Columns[
    3].Text = "Column 4";
                
    this.SuspendLayout();
                
    this.listView1.Items.AddRange(new ListViewItem[] {listViewItem1,
                    listViewItem2,
                    listViewItem3,
                    listViewItem4}
    );
                
    this.listView1.Location = new Point(1010);
                
    this.listView1.Name = "listView1";
                
    this.listView1.Size = new Size(300100);
                
    this.listView1.TabIndex = 0;
                
    this.listView1.LabelEdit = true;
                
    this.listView1.ColumnClick += new ColumnClickEventHandler(ColumnClick);
                   
                
    this.ClientSize = new Size(400400);
                
    this.Controls.AddRange(new Control[] {this.listView1});
                
    this.Name = "ListViewSortForm";
                
    this.Text = "Sorted ListView Control";
                
    this.ResumeLayout(false);
            }

            
        
            
    // ColumnClick event handler.
            private void ColumnClick(object o, ColumnClickEventArgs e)
            
    {
                
    this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
            }


            [System.STAThreadAttribute()]
            
    public static void Main()
            
    {
                Application.Run(
    new ListViewSortForm());
            }


        }


        
    // 自定义排序算法
        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);
            }

        }


    }

  • 相关阅读:
    (转)AWK函数
    (转)Linux ldconfig 与 ldd指令
    Linux内存管理Swap和Buffer Cache机制
    聚集索引和非聚集索引的区别有哪些
    mod_fastcgi和mod_fcgid的区别
    PHP运行模式
    详解php的安装模式---CGI,FASTCGI,php-fpm,mod_php,mod_cgi,mod_fcgid
    概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM 各公共网关接口介绍
    PHP 5.3以上版本推荐使用mysqlnd驱动
    apache 静态编译和动态编译参考
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/Winform_ListView_Sort.html
Copyright © 2011-2022 走看看