ListView 控件的自定义排序功能
在软件开发中经常,使用ListView进行自定义的排序,那么如何能自定义一些类来进行,字符串、整型、日期等类型进行排序呢?
一、创建 ListViewItemComparer 类创建 ListViewItemComparer 类
下面自定义了两个类都继承自IComparer,一个用于字符串排序,一个用于整型排序
/// <summary>
/// 进行字符串排序
/// </summary>
public class ListViewItemComparer:IComparer
{
private int col;
public ListViewItemComparer()
{
col=0;
}
public ListViewItemComparer(int column)
{
col=column;
}
public int Compare(object x, object y)
{
int ret = String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
return ret;
}
}
/// <summary>
/// 进行整型数排序
/// </summary>
public class ListViewIntItemComparer:IComparer
{
private int col;
public ListViewIntItemComparer()
{
col=0;
}
public ListViewIntItemComparer(int column)
{
col=column;
}
public int Compare(object x, object y)
{
int lvX = 0;
int lvY = 0;
try
{
lvX = Int32.Parse(((ListViewItem)x).SubItems[col].Text);
lvY = Int32.Parse(((ListViewItem)y).SubItems[col].Text);
}
catch(Exception exp)
{
return -1;
}
if(lvX>lvY)
return 1;
else
return 0;
}
}
二、在ListView中处理ColumnClick事件:
private void listView2_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
// Set the ListViewItemSorter property to a new ListViewItemComparer object.
this.listView2.ListViewItemSorter = new ListViewIntItemComparer(e.Column);
// Call the sort method to manually sort the column based on the ListViewItemComparer implementation.
listView2.Sort();
}
参考:
使用 Windows Form 按列排序 ListView 项目
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/NFdnwinformslistviewsort.mspx
- 点赞
- 收藏
- 分享
- 文章举报
- 重写ListView控件,实现点击列头排序的功能
- 重写ListView控件,实现点击列头排序的功能
- Android ListView中点击单行实现RadioButton的单选功能,自定义Item布局文件
- Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能
- ListView控件的简单查询功能
- 控件也是类——分步实现具有分页功能的自定义DataList控件【附源代码】
- 自定义ListView实现底部View自动隐藏和消失的功能
- Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能
- Android ListView的A-Z字母排序和过滤搜索功能
- Delphi中ListView中实现自定义删除功能的方法
- 十一、理解MapReduce的二次排序功能,包括自定义数据类型、分区、分组、排序
- [转]列表控件排序功能的实现
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- 自定义ListView【通用】适配器并实现监听控件!
- 使用ObjectDataSource 控件自定义自己的分页(vs2008新控件Listview)
- listView的增删,行单击事件,头部点击排序等功能
- C# ListView 点击表头对数据进行排序功能的实现代码
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,