C# ListView 点击表头对数据进行排序功能的实现代码
添加表头单击事件
privatevoidlistView1_ColumnClick(objectsender,ColumnClickEventArgse)
{
if(listView1.Columns[e.Column].Tag==null)
{
listView1.Columns[e.Column].Tag=true;
}
booltabK=(bool)listView1.Columns[e.Column].Tag;
if(tabK)
{
listView1.Columns[e.Column].Tag=false;
}
else
{
listView1.Columns[e.Column].Tag=true;
}
listView1.ListViewItemSorter=newListViewSort(e.Column,listView1.Columns[e.Column].Tag);
//指定排序器并传送列索引与升序降序关键字
listView1.Sort();//对列表进行自定义排序
}
排序用到的类
publicclassListViewSort:IComparer
{
privateintcol;
privatebooldescK;
publicListViewSort()
{
col=0;
}
publicListViewSort(intcolumn,objectDesc)
{
descK=(bool)Desc;
col=column;//当前列,0,1,2...,参数由ListView控件的ColumnClick事件传递
}
publicintCompare(objectx,objecty)
{
inttempInt=String.Compare(((ListViewItem)x).SubItems[col].Text,((ListViewItem)y).SubItems[col].Text);
if(descK)
{
return-tempInt;
}
else
{
returntempInt;
}
}
}
注意:
有的会报“错误CS0305:使用泛型类型“System.Collections.Generic.IComparer
这时只需要usingSystem.Collections.Generic;改为usingSystem.Collections;即可。
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短