C# winform中listview排序

本文解决方案是采用下面链接中的解决方案。十分感谢这篇文章的作者bright:http://blog.163.com/shensc@126/blog/static/1312896522010614103538287/

看到网上的许多解决方案(其实就是一种,只不过被转载和粘贴,所以没什么用。同时那么多的代码居然屌用没有(原谅我说脏话了)(那种方法的解决方案是这样的https://support.microsoft.com/en-us/kb/319401)。最后终于在一篇网易博客上找到了解决方案。

这里转一下方案以便自己查找:

先创建一个类:ListViewColumnSorter继承自:IComparer

整个类代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Collections;
 6 using System.Windows.Forms;
 7
 8 namespace WindowsFormsApplication3
 9 {
10     //class ListViewColumnSorter: IComparer
11     //{12     /// <summary>
13     /// This class is an implementation of the 'IComparer' interface.
14     /// </summary>
15    // public class ListViewColumnSorter : IComparer
16     //{17         /// <summary>
18         /// Author:沈舜聪
19         /// CreateDate:2010-07-13
20         /// Description:ListView控件排序比较器
21         /// </summary>
22         public class ListViewItemComparer : IComparer
23         {
24             private int col;
25             public int Compare(object x, object y)
26             {
27                 int returnVal = -1;
28                 returnVal = String.Compare(((ListViewItem)x).SubItems[col].Text,
29                 ((ListViewItem)y).SubItems[col].Text);
30                 return returnVal;
31             }
32         }
33 }

listview的头click事件如下:

1 private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
2         {
3
4             this.listView1.ListViewItemSorter = new ListViewItemComparer();
5             // Call the sort method to manually sort.
6             listView1.Sort();
7         }

以上我转载自网络,来源:http://www.cnblogs.com/hellochenchen/p/5415639.html

进行上面代码测试的时候,我发现效果并未像我想象的一样,是按大小排序的,而是按数字的第一个数排序的,这当然不是我要的效果,研究了一下原作者的代码,后边稍微改了一下代码,完成了我要的效果。下面贴上代码

    public class ListViewItemComparer : IComparer{private int col=0;public int Compare(object x, object y){int returnVal = -1;returnVal = String.Compare(((ListViewItem)x).SubItems[col].Name,((ListViewItem)y).SubItems[col].Name);return returnVal;}}

只是将SubItems[col].Text改成了Name,就达到了我要的结果。

C# winform中listview排序相关推荐

  1. 怎样正确处理WinForm中Listview的ItemCheck事件

    我很少写具体的对象应用心得,这次尝试一下. WinForm中Listview的ItemCheck事件,例子如下:   private void lvwTables_ItemCheck(object s ...

  2. 【2017-04--28】Winform中ListView控件

    ListView 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的 ...

  3. WPF中ListView排序实现(2022.12.25有更新)

    要实现ListView点击某一列进行排序,需要处理列点击事件 <Window x:Class="ListViewSort.MainWindow"xmlns="htt ...

  4. C# winform中ListView用法

    //lsitviewItems列宽内容自适应 //获取一共有多少列 然后每列内容自适应-2   另外标题自适应是-1 for (int i = 0; i < lvViewData.Columns ...

  5. winform中listView

    1, 获取当前行的行号:  int index = ((ListViewDataItem)e.Item).DisplayIndex; 2,获取当前行的主键:  int id = Convert.ToI ...

  6. winform中listview选中整行_工作中常见的11个Excel难题,一次解决!

    Hello,各位叨友们好~ 叨叨君每天上班的第一件事就是做Excel数据报表,做多了也就积累了一些实用的Excel技巧,今天整理出来分享给大家,希望对大家的工作有所帮助哦! 01 合并多个单元格内容 ...

  7. winform中listview选中整行_Excel办公实操,操作区域的3大小技巧,办公中的你使用过吗...

    选取单元格区域的高招 选择单元格区域是Excel用户常常需要进行的操作,下面介绍的一些技巧能够帮助用户快速.准确地进行选择. 使用<Shift>键选择大区域 如果需要选择一个较小的单元格区 ...

  8. winform中listview选中整行_Winform如何获取ListView选中行数据

    1.设计窗体 一个ListView    listView1 一个textBox    txbSelected 2.listView1填充数据 private void Form1_Load(obje ...

  9. 在winform中从外部拖动节点到树形结构(treeview和listview相互拖动)(一)

    最近一个项目要用到从listview向treeview拖动item,达到从外部拖动图标成为树形结构的一部分,通过查阅资料总结了一些实现方式,分享给大家.这是winform中的例子. 在进行拖放操作之前 ...

最新文章

  1. ios点击大头针气泡不弹出_地图大头针气泡点击事件
  2. PV,TPS,QPS,RPS
  3. C# 学习笔记(7) 进程
  4. Acwing第 3 场周赛【完结】
  5. 二叉树路径应用举例(基于非递归后序遍历)
  6. java访问权限 public private protected
  7. python 矩阵乘法 跳过nan_python – Numpy:当一些向量元素等于零时,矩阵向量乘法不会跳过计算吗?...
  8. python做接口测试的优点_python做接口测试的必要性
  9. 关于局部变量的几个难点
  10. centos7 java 1.8_Centos7下安装Java JDK 1.8
  11. 华成英模拟电子技术笔记(1)-绪
  12. android字体设置
  13. win10下git报fatal: open /dev/null or dup failed解决办法(附null.sys文件下载)
  14. 挂机机器人虚拟服务器,[机制|聊天]BotMaker —— 在你的服务器轻松创建机器人[1.8-1.13.2]...
  15. 计算机系统与配置要求,电脑系统以及Adobe Audition的版本配置要求-喜马拉雅
  16. C语言编程练习之水仙花数
  17. Stylized NeRF 水记(NeRF的风格化)
  18. 手把手教你搭APM之Skywalking搭建指南(支持Java/C#/Node.js)
  19. 计算机毕业设计Android宠物领养救助系统app(源码+系统+mysql数据库+Lw文档)
  20. 物联网卡不能上网是怎么回事?

热门文章

  1. AMBA协议(二) APB协议
  2. 想皮肤水嫩有光泽?五中鲜花让你学会养生美容!
  3. 预处理指令if、ifdef、ifndef
  4. html百度蜘蛛跳转代码,网页蜘蛛跳转代码对搜狗搜索引擎并不友好
  5. 宝藏又小众的灯饰装修设计素材网站分享
  6. Unity-脚本编译
  7. python创建画布_Python——绘图
  8. onChange事件
  9. 聚合热搜热榜PHP接口API源码
  10. java web项目锁的理解