C#中加强ListView控件的功能
第一步是实现ListView控件的自定义排序,订阅ListView控件的ColumnClick事件。
private void listview 1 _ Column click(对象发送方,Column click eventargs e)
{
if(this . listview 1 . columns[e . Column].tag = = null)
this . listview 1 . columns[e . Column]。Tag = true
bool tabK =(bool)this . listview 1 . columns[e . Column]。标签;
if(tabK)
this . listview 1 . columns[e . Column]。Tag = false
else
this . listview 1 . columns[e . Column]。Tag = true
this . listview 1 . listview item sorter = new listview sort(e . Column,this . listview 1 . columns[e . Column])。标签);
//指定排序器并传递列索引和升降关键字
this . listview 1 . sort();//自定义列表排序
}
排序类的定义:
///
//自定义ListView控件的排序函数
//
class listview sort:I comparer
{
private int col;
私有bool descK
public ListViewSort()
{
col = 0;
}
public ListViewSort(int column,object desc)
{
descK =(bool)desc;
col = column;//当前列,0,1,2...,参数由ListView控件的ColumnClick事件传递
}
public int compare(Object X,Object y)
{
int tempInt = String。比较(((ListViewItem)x)。子项[列]。文本,((ListViewItem)y)。子项[列]。正文);
if(descK)return-tempInt;
else返回tempInt
}
}
上面ListView控件的自定义排列,也就是点击ListView控件的标题时进行排序。
位律师回复
0条评论