C# winform中listview排序
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排序相关推荐
- 怎样正确处理WinForm中Listview的ItemCheck事件
我很少写具体的对象应用心得,这次尝试一下. WinForm中Listview的ItemCheck事件,例子如下: private void lvwTables_ItemCheck(object s ...
- 【2017-04--28】Winform中ListView控件
ListView 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的 ...
- WPF中ListView排序实现(2022.12.25有更新)
要实现ListView点击某一列进行排序,需要处理列点击事件 <Window x:Class="ListViewSort.MainWindow"xmlns="htt ...
- C# winform中ListView用法
//lsitviewItems列宽内容自适应 //获取一共有多少列 然后每列内容自适应-2 另外标题自适应是-1 for (int i = 0; i < lvViewData.Columns ...
- winform中listView
1, 获取当前行的行号: int index = ((ListViewDataItem)e.Item).DisplayIndex; 2,获取当前行的主键: int id = Convert.ToI ...
- winform中listview选中整行_工作中常见的11个Excel难题,一次解决!
Hello,各位叨友们好~ 叨叨君每天上班的第一件事就是做Excel数据报表,做多了也就积累了一些实用的Excel技巧,今天整理出来分享给大家,希望对大家的工作有所帮助哦! 01 合并多个单元格内容 ...
- winform中listview选中整行_Excel办公实操,操作区域的3大小技巧,办公中的你使用过吗...
选取单元格区域的高招 选择单元格区域是Excel用户常常需要进行的操作,下面介绍的一些技巧能够帮助用户快速.准确地进行选择. 使用<Shift>键选择大区域 如果需要选择一个较小的单元格区 ...
- winform中listview选中整行_Winform如何获取ListView选中行数据
1.设计窗体 一个ListView listView1 一个textBox txbSelected 2.listView1填充数据 private void Form1_Load(obje ...
- 在winform中从外部拖动节点到树形结构(treeview和listview相互拖动)(一)
最近一个项目要用到从listview向treeview拖动item,达到从外部拖动图标成为树形结构的一部分,通过查阅资料总结了一些实现方式,分享给大家.这是winform中的例子. 在进行拖放操作之前 ...
最新文章
- ios点击大头针气泡不弹出_地图大头针气泡点击事件
- PV,TPS,QPS,RPS
- C# 学习笔记(7) 进程
- Acwing第 3 场周赛【完结】
- 二叉树路径应用举例(基于非递归后序遍历)
- java访问权限 public private protected
- python 矩阵乘法 跳过nan_python – Numpy:当一些向量元素等于零时,矩阵向量乘法不会跳过计算吗?...
- python做接口测试的优点_python做接口测试的必要性
- 关于局部变量的几个难点
- centos7 java 1.8_Centos7下安装Java JDK 1.8
- 华成英模拟电子技术笔记(1)-绪
- android字体设置
- win10下git报fatal: open /dev/null or dup failed解决办法(附null.sys文件下载)
- 挂机机器人虚拟服务器,[机制|聊天]BotMaker —— 在你的服务器轻松创建机器人[1.8-1.13.2]...
- 计算机系统与配置要求,电脑系统以及Adobe Audition的版本配置要求-喜马拉雅
- C语言编程练习之水仙花数
- Stylized NeRF 水记(NeRF的风格化)
- 手把手教你搭APM之Skywalking搭建指南(支持Java/C#/Node.js)
- 计算机毕业设计Android宠物领养救助系统app(源码+系统+mysql数据库+Lw文档)
- 物联网卡不能上网是怎么回事?