ListView 排序问题[通俗易懂]

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;
              }
         }
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186396.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visual studio新手使用教程「建议收藏」

    visual studio新手使用教程「建议收藏」目录1.下载安装VisualStudio2.新建工程3.新建项目4.添加源文件5.编译一闪而退的问题6.使用scanf函数报错问题7.VS常用调试程序快捷键8.VS的调试窗口9.工具->选项对于刚刚接触编程的新手来说,最先需要熟练掌握的当然是语言之祖——C语言,而C语言编译器首当其冲的必然是visualstudio,小编入门使用VC6.0,…

    2022年6月15日
    54
  • 即时通讯——P2P传输技术详解[通俗易懂]

    即时通讯——P2P传输技术详解[通俗易懂]纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。有些网络(如Napster,OpenNAP,或IRC@find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella或Freenet的网络则使用

    2022年7月16日
    43
  • 如何得到屏幕分辨率?

    如何得到屏幕分辨率?

    2021年7月29日
    53
  • 前端开发常用网站_软件开发领域知识

    前端开发常用网站_软件开发领域知识87个前端必备开发网站来源:https://zhuanlan.zhihu.com/p/86777413来源:https://zhuanlan.zhihu.com/p/86777413来源:htt

    2022年8月3日
    7
  • 校园网络总体规划设计方案_校园网的使用与规划

    校园网络总体规划设计方案_校园网的使用与规划目录一、项目概述3二、设计要求4(一)网络部分的总体要求4(二)系统部分的总体要求4(三)网络安全设计4三、设计原则6四、设计目标6五、网络拓扑结构设计7(一)布线结构需求7(二)拓扑结构的选择7六、网络技术选择9(一)VLAN技术9(二)IP通信技术10(三)使用适应性的路由协议10(四)访问控制技术11七、网络设备选型原则12(一)交换机的选择12(二)路由器的选择13(三)防火墙14(四)服…

    2022年10月5日
    0
  • 送给刚刚開始学cocos2d-x引擎 移植Android的同学

    送给刚刚開始学cocos2d-x引擎 移植Android的同学

    2021年12月4日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号