ListView 排序问题[通俗易懂] 在DataGrid 中有自带的排序,但是在ListeView中却没有这一项,下面就给出我平时用的ListView的排序使用方法,给志同道合的朋友们参考参考:在ColumnClick事件下添加:其中要注意:intsortColumn=-1;其中sortColumn用来记录上次排序的列的索引privatevoidlistView1_ColumnClick(objectse
大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
在
DataGrid
中有自带的排序,但是在
ListeView
中却没有这一项,下面就给出我平时用的
ListView
的排序使用方法,给志同道合的朋友们参考参考:
在
ColumnClick
事件下添加:
其中要注意:
int sortColumn=-1;
其中
sortColumn
用来记录上次排序的列的索引
private
void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
if(this.listView1.SelectedItems.Count!=0)
this.listView1.SelectedItems.Clear();
if (e.Column != sortColumn) //first use
{
// Set the sort column to the new column.
sortColumn = e.Column;
// Set the sort order to ascending by default.
listView1.Sorting = SortOrder.Ascending;
}
else //second or more use
{
// Determine what the last sort order was and change it.
if (listView1.Sorting == SortOrder.Ascending)
listView1.Sorting = SortOrder.Descending;
else
listView1.Sorting = SortOrder.Ascending;
}
// Call the sort method to manually sort.
listView1.Sort();
// Set the ListViewItemSorter property to a new ListViewItemComparer
// object.
this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column,
listView1.Sorting);// ListViewItemCompare
r
要用到下面的类
}
一个新的类
class
ListViewItemComparer : IComparer
{
private int col;
private SortOrder order;
public ListViewItemComparer()
{
col=0;
order = SortOrder.Ascending;
}
public ListViewItemComparer(int column, SortOrder order)
{
col=column;
this.order = order;
}
public int Compare(object x, object y)
{
int returnVal= -1;
returnVal = String.Compare(((ListViewItem)x).SubItems[col].Text,
((ListViewItem)y).SubItems[col].Text);
// Determine whether the sort order is descending.
if(order == SortOrder.Descending)
// Invert the value returned by String.Compare.
returnVal *= -1 ;
return returnVal;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186396.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...