ListView排序

原创 2007年09月25日 14:33:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace OnlineMarketingTool.PlayManagement
...{
    
public partial  class MyList : System.Windows.Forms.ListView
    
...{
        
//加入排序类
        private mySorter sorter;

        
public MyList()
        
...{
            sorter 
= new mySorter();
            
this.ListViewItemSorter = sorter;
            sorter.SortOrder 
= SortOrder.Ascending;

            InitializeComponent();
           
this.HideSelection = false;
        }

         
        
private void MyList_ColumnClick(object sender, ColumnClickEventArgs e)
        
...
            
if (e.Column == this.sorter.SortColumn)
            
...{
                
if (this.sorter.SortOrder == SortOrder.Ascending)
                    
this.sorter.SortOrder = SortOrder.Descending;
                
else  if (this.sorter.SortOrder == SortOrder.Descending)
                        
this.sorter.SortOrder = SortOrder.Ascending;
                  
else
                        
this.sorter.SortOrder = SortOrder.Ascending;
            }

            
else
            
...{
                
this.sorter.SortColumn = e.Column;
            }

            
this.Sort(); 

        }



    }

}


//-------------------------------------------------------
namespace OnlineMarketingTool.PlayManagement
...{
    
partial class MyList
    
...{
        
/**//// <summary> 
        
/// 必需的设计器变量。
        
/// </summary>

        private System.ComponentModel.IContainer components = null;

        
/**//// <summary> 
        
/// 清理所有正在使用的资源。
        
/// </summary>
        
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>

        protected override void Dispose(bool disposing)
        
...{
            
if (disposing && (components != null))
            
...{
                components.Dispose();
            }

            
base.Dispose(disposing);
        }


        
组件设计器生成的代码#region 组件设计器生成的代码

        
/**//// <summary> 
        
/// 设计器支持所需的方法 - 不要
        
/// 使用代码编辑器修改此方法的内容。
        
/// </summary>

        private void InitializeComponent()
        
...{
            components 
= new System.ComponentModel.Container();
    
            
this.ColumnClick +=new System.Windows.Forms.ColumnClickEventHandler(MyList_ColumnClick);
        }


        
#endregion

    }

}


//---------------------------------

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Windows.Forms;

namespace OnlineMarketingTool.PlayManagement
...{
    
public class mySorter : IComparer
    
...{
        
private Comparer comparer;
        
private int sortColumn;
        
private SortOrder sortOrder;
        
public mySorter()
        
...{
            sortColumn 
= 0;
            sortOrder 
= SortOrder.None;
            comparer 
= Comparer.Default;
        }

        
//指定进行排序的列
        public int SortColumn
        
...{
            
get ...return sortColumn; }
            
set ...{ sortColumn = value; }
        }

        
//指定按升序或降序进行排序
        public SortOrder SortOrder
        
...{
            
get ...return sortOrder; }
            
set ...{ sortOrder = value; }
        }

        
public int Compare(object x, object y)
        
...{
            
int CompareResult;
            ListViewItem itemX 
= (ListViewItem)x;
            ListViewItem itemY 
= (ListViewItem)y;
            
//在这里您可以提供自定义的排序
            CompareResult = comparer.Compare(itemX.SubItems[this.sortColumn].Text, itemY.SubItems[this.sortColumn].Text);
            
if (this.SortOrder == SortOrder.Ascending)
                
return CompareResult;
            
else
                
if (this.SortOrder == SortOrder.Descending)
                    
return (-CompareResult);
                
else
                    
return 0;
        }

    }


}



 

Android ListView中带有时间数据的排序

下面是activity: public class MainActivity extends Activity { private ListView mListView = null; ...

android 实现listView的A-Z字幕排序

Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音 分类: Android 高手进阶2013-10-13 21:46 66905人阅读 评论(213) ...

wpf列表listview自动排序排列

  • 2016年08月19日 16:55
  • 38KB
  • 下载

listview 实现联系人字母排序

  • 2015年07月12日 19:35
  • 1.5MB
  • 下载

Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了,过完国庆到新公司报道,感觉还不错,就是现在住的地方离新公司有点远,地铁20站,伤不起啊,我每天早上7点多就要起床,然后屁颠屁颠...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ListView排序
举报原因:
原因补充:

(最多只允许输入30个字)