ListView的排序问题 你先要实现一个IComparer接口,然后给listview的ListViewItemSorter属性附值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to redbirdli(火鸟) Sorting: 只提供升序、降序、不排序,三种 感谢您使用微软产品。在.NET Framework中,您可以通过创建一个类来实现System.Collections.IComparer接口,来实现ListView控件的排序功能。具体实现是:创建该类的实例,赋予给ListView1控件对象的ListViewItemSorter属性,然后在ListView的ColumnClick事件句柄(ListView1_ColumnClick)中添加代码实现按点击列排序。下面提供一段示例代码功能参考,请根据您的系统的实际情况进行相应的修改:private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e){ ColumnSort columnsort = new ColumnSort(e.Column); columnsort.bAscending = (listView1.Sorting == SortOrder.Ascending); if (columnsort.bAscending) { listView1.Sorting = SortOrder.Descending; } else { listView1.Sorting = SortOrder.Ascending; } listView1.ListViewItemSorter=columnsort;}public class ColumnSort:IComparer{ private int columnNum = 0; public bool bAscending = true; public ColumnSort(int column_to_sort) { columnNum=column_to_sort; } public int Compare(object a, object b){ System.Windows.Forms.ListViewItem listItemA=(System.Windows.Forms.ListViewItem)a; System.Windows.Forms.ListViewItem listItemB=(System.Windows.Forms.ListViewItem)b; if (bAscending) { return String.Compare(listItemA.SubItems[columnNum].ToString(),listItemB.SubItems[columnNum].ToString()); } else { return -1 * String.Compare(listItemA.SubItems[columnNum].ToString(),listItemB.SubItems[columnNum].ToString()); } }}关于ListView控件类的更详细信息,请参考如下MSDN:ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemWindowsFormsListViewMembersTopic.htm — 微软全球技术中心 VB支持中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。 各位大虾,高分求解! excel里面的find方法 c#访问数据库异常 web.config代码错误 急!.Net 中開制做winForm自定議控件時如何得到父窗口的顏色 请求一本好书,C# 面向对象编程思想 100分求C#描述的MapInfo教程 windows桌面扩展到监视器问题 问一个Word中复制粘贴的问题~ create trigger XXX on dbo.tableName after 怎么 用正则表达式 取出 XXX 关于线程使用lock 如何获取消息框的返回值???
Sorting: 只提供升序、降序、不排序,三种
下面提供一段示例代码功能参考,请根据您的系统的实际情况进行相应的修改:
private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
ColumnSort columnsort = new ColumnSort(e.Column);
columnsort.bAscending = (listView1.Sorting == SortOrder.Ascending);
if (columnsort.bAscending)
{
listView1.Sorting = SortOrder.Descending;
}
else
{
listView1.Sorting = SortOrder.Ascending;
}
listView1.ListViewItemSorter=columnsort;
}public class ColumnSort:IComparer
{
private int columnNum = 0;
public bool bAscending = true;
public ColumnSort(int column_to_sort)
{
columnNum=column_to_sort;
} public int Compare(object a, object b)
{
System.Windows.Forms.ListViewItem
listItemA=(System.Windows.Forms.ListViewItem)a;
System.Windows.Forms.ListViewItem
listItemB=(System.Windows.Forms.ListViewItem)b;
if (bAscending)
{
return String.Compare(listItemA.SubItems[columnNum].ToString(),listItemB.SubItems[columnNum].ToString());
}
else
{
return -1 * String.Compare(listItemA.SubItems[columnNum].ToString(),listItemB.SubItems[columnNum].ToString());
}
}
}关于ListView控件类的更详细信息,请参考如下MSDN:
ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemWindowsFormsListViewMembersTopic.htm
— 微软全球技术中心 VB支持中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。