C# ListView_winform数据库增删改查

C# ListView_winform数据库增删改查C#winform中listview排序本文解决方案是采用下面链接中的解决方案。十分感谢这篇文章的作者bright:http://blog.163.com/shensc@126/blog/static/1312896522010614103538287/看到网上的许多解决方案(其实就是一种,只不过被转载和粘贴,所以没什么用。同时那么多的代码居然屌用没有(原谅我说脏话了)(


Jetbrains全系列IDE稳定放心使用

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

C# ListView_winform数据库增删改查

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

    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,就达到了我要的结果。 

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

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

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

相关推荐

  • JavaScript数组_java数组排序

    JavaScript数组_java数组排序JavaScript数组常用方法(最全)今天我们对JavaScript的数组以及对象的方法做一个总结,方便与以后的开发与查询,多多收藏哦!1.push()push方法可以向数组的末尾添加一个或者多个元素,并返回新的长度.2.pop()pop()方法用于删除并返回数组的最后一个元素。3.unshift()unshift()方法可向数组的开头添加一个或更多元素,并返回新的长度。4.shift()shift()方法用于把数组的第一个元素从其中删除,并返回第一

    2022年10月26日
  • JavaScript高级程序设计学习总结一

    JavaScript高级程序设计学习总结一一,JavaScript的实现JavaScript和ECMAScript通常都被人认为是相同的含义,JavaScript的含义比ECMAScript规定要多的多。一个完整的的JavaScript实现应该由三个不同的部分组成。核心(ECMAScript的) 文档对象模型(DOM) 浏览器对象模型(BOM)二,ECMAScript中是由ECMA-262定义的,ECMASc…

    2022年8月22日
  • padEnd_np.pad函数

    padEnd_np.pad函数ES2017引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全下面有一个小练习身份号只显示后四位

    2022年9月8日
  • Git 两分钟指南

    Git 两分钟指南

    2021年9月3日
  • 横向滑动视图HorizontalScrollView精炼详解

    横向滑动视图HorizontalScrollView精炼详解一、前期基础知识储备由于移动设备物理显示空间一般有限,不可能一次性的把所有要显示的内容都显示在屏幕上。所以各大平台一般会提供一些可滚动的视图来向用户展示数据。Android平台框架中为我们提供了诸如ListView、GirdView、ScrollView、RecyclerView等滚动视图控件,这几个视图控件也是我们平常使用最多的。本节内容我们来分析一下横向滚动视图Horizonta…

    2022年7月26日
  • goland激活码 2022【2022最新】

    (goland激活码 2022)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4KDDGND3CI-eyJsa…

    2022年4月1日

发表回复

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

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