#region/***lv列排序***/
  private void ColumnClick(object o, ColumnClickEventArgs e)
  {
   try
   {
    lv_examView.ListViewItemSorter = new ListViewItemComparer(e.Column,lv_examView.Sorting);
    lv_examView.Sort();
    if(lv_examView.Sorting == SortOrder.Ascending)
     lv_examView.Sorting = SortOrder.Descending;
    else
     lv_examView.Sorting = SortOrder.Ascending;
   }
   catch(Exception err)
   {
    MessageBox.Show(this,err.Message,"列排序",MessageBoxButtons.OK,MessageBoxIcon.Error);
   }
  }
  #endregion

#region/***列排序类***/
  class ListViewItemComparer : IComparer
  {
   private int col;
   private SortOrder is_sortOrder = SortOrder.Ascending;
   public ListViewItemComparer()
   {
    col=0;
   }
   public ListViewItemComparer(int column, SortOrder sortOrder)
   {
    col=column;
    is_sortOrder = sortOrder;
   }
   public int Compare(object x, object y)
   {
    int result=0;
    try
    {

result= String.Compare(((ListViewItem)x).SubItems[col].Text,((ListViewItem)y).SubItems[col].Text);

//     switch (col)
//     {
//
//      case 3 :
//       string text=((ListViewItem)x).SubItems[col].Text.ToString();
//       string texty=((ListViewItem)y).SubItems[col].Text.ToString();
//       decimal dm1=ChangeBytesBack(text);
//       decimal dm2=ChangeBytesBack(texty);
//       result= Decimal.Compare(dm1,dm2);
//       break;
//
//      default :
//       result= String.Compare(((ListViewItem)x).SubItems[col].Text,((ListViewItem)y).SubItems[col].Text);
//       break;
//     }
    }
    catch(Exception err)
    {
     throw new Exception(err.Message);
    }
    if (is_sortOrder == SortOrder.Descending)
     return result;
    else
     return -result;
   }

//字节转换
   private  decimal  ChangeBytesBack(string oldstr)
   {
    decimal filelength=0;
    try
    {
     string strExplain=oldstr.Substring(oldstr.Length-2);
     decimal  lDSize = Convert.ToDecimal(oldstr.Substring(0,oldstr.Length-3));

try
     {
      switch(strExplain)
      {
       case "KB":
        filelength=lDSize*1024;
        break;
       case "MB":
        filelength=lDSize*1024*1024;
        break;
       case "GB":
        filelength=lDSize*1024*1024*1024;
        break;
      }
  
     } 
     catch (Exception err)
     {
      throw new Exception(err.Message);
     }
    }
    catch(Exception err)
    {
     throw new Exception(err.Message);
    }

return filelength;
   }
 
   #endregion
  }

转载于:https://www.cnblogs.com/flashicp/archive/2007/01/25/ddselina.html

ListView列排序功能实现相关推荐

  1. Winform下ListView实现排序功能

    最近项目需要实现列表排序,由于是winform的,并使用了ListView列表控件,并且第一列显示了序号,要求:点击每列标题实现列表排序,并且序号列要跟随排序后的数据显示. 查看了微软的官方文档,Li ...

  2. [WPF]ListView点击列头排序功能实现

    [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了.微软的MSD ...

  3. wpf中ListView控件点击列头排序功能实现(超简洁实用)

    .xaml文件中的主要代码 <ListView Name="lvMeasureData" GridViewColumnHeader.Click="Sort_Clic ...

  4. 表格的列标题具有排序功能可便于读者查阅

    表格的栏目名具有排序功能可便于读者查阅 : 下表中,点击蓝色字体的列标题就可以升序排序 序号 基金代码 简称 相关链接 2011-09-30 2011-09-29 日增长值 日增长率 申购状态 单位净 ...

  5. [Android精品源码] Android 仿美团网,探索ListView的A-Z字母排序功能实现选择城市

    Material Design中文版Code4APPPHP100UI4APP 开启辅助访问设为首页收藏本站快捷导航切换到宽版切换风格 石刚 | |我的 |签到打卡 |设置 |消息 |提醒(2) |退出 ...

  6. android 字母排序i,Android 使用ListView的A-Z字母排序功能实现联系人模块

    在上一篇文章当中,主要学习了ListView的A-Z字母排序功能以及根据输入框的输入值改变来过滤搜索结果,如果输入框里面的值为空,更新为原来的列表,否则为过滤数据列表,包括汉字转成拼音的功能,如果你还 ...

  7. mysql 按两列排序吗_按两列排序MySQL表

    噜噜哒 这可能有助于某人正在寻找通过两列排序表的方法,但是以相似的方式.这意味着使用聚合排序功能组合两种排序.例如,在使用全文搜索检索文章以及文章发布日期时,它非常有用.这只是一个例子,但是如果你理解 ...

  8. 降序排序_新手需要掌握的Excel排序功能都在这儿了!

    排序,真的是一个很基础的功能. 如果还不知道排序的话,可能仅仅是用Excel来做数据录入了. 但是排序真的又不是一个简单的功能,能全部了解其中细节的人真的不多,今天分享关于排序的内容,不讲太深,仅仅是 ...

  9. html表格筛选排序规则,excel表的排序功能你真的会吗?带你重新认识真正的排序功能...

    Excel的排序功能是很有用处的,但是很多朋友不会用.这里就举例一个例子介绍一下这个功能的使用方法.如一张期末成绩分析表,它是随机排列的,我们想把这些学生按英语成绩大小排列,应该怎么做呢? 1.使用E ...

最新文章

  1. NVIDIA FFmpeg 转码技术分析
  2. [SDOI2015]权值
  3. 大型web系统数据缓存设计-l转载
  4. 2 0 2 0 年 第 十 一 届 蓝 桥 杯 - 省赛 - CC++大学C组 - A.约数个数
  5. SasSHRM中基于shiro的认证授权:系统微服务配置shiro
  6. 【转】OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service Client
  7. 武汉市江岸区2021年高考成绩查询,2021年武汉各区一、二、三批次高中有哪些(名单)...
  8. 不花钱、不买服务器可以搭建个人博客吗?快进来,给你安排!
  9. csv 20位数据 如何打开可以预览完整数字_条码打印软件如何批量制作MSI Plessey码...
  10. Oracle和sqlserver数据类型对应
  11. DY-SV17F 语音模块
  12. ubuntu 16.04 gtx1060 显卡安装
  13. 程序设计-求解数独(C)
  14. element表格样式优化
  15. 淘宝商品详情接口,淘宝详情页接口,宝贝详情页接口,商品属性接口,商品信息查询,商品详细信息接口,h5详情,淘宝APP详情
  16. 开发一个分销小程序需要多少钱?
  17. 神经网络:训练模型+转化为k210上跑的kmodel
  18. 数仓工具—Hive Beeline(21)
  19. 高可用网络架构的部署
  20. 基于泰勒级数展开求余弦函数值

热门文章

  1. linux mint 忘记密码,在Linux Mint中如何提醒mysql localhost base的密码?
  2. 面包板如何接线电源 图解_互感器、电能表接线和原理讲解
  3. thincmf 分页无法搜索_分页的bug ThinkCMF内容管理框架,做最简约的ThinkPHP开源软件...
  4. c语言程序设计网络作业,北语网院17春《C语言程序设计》作业_2满分答案
  5. java thread等特,进阶之路|奇妙的Thread之旅
  6. matlab重要性采样,Importance Sampling (重要性采样)介绍 | 文艺数学君
  7. linux找回删除的文件6,在Centos6/RHEL6上恢复ext4文件系统下误删除的文件
  8. php文本框输入内容过滤,为什么没能过滤掉文本框输入的所有反斜杠?
  9. java 字符菜单_java该怎么写左侧菜单树
  10. mysql检索整数_MyBatis从MySql DB中检索整数为Enum