摘要:   使listview按列自动排序的例子网上有很多,MSDN上面也有,但是似乎都没指出这样一种情况:当我们点击列头进行排序时,如果里面有一子项不存在或者多项不存在,该怎么比较?前两天我就碰到了这样的情况,现在,我把自己的一些心得拿出来和大家分享.

         大的就不用说了,我们都知道要实现listview的自定义排序,必须编写一个实现 接口的类,并将
ListViewItemSorter 属性设置为该类的一个对象.起初,我按照示例编写了一个自定义排序的类,并在listview的ColumnClick 事件下添加了相应代码.代码如下:
      1.实现排序的类:
listview按列自动排序的一点补充public class ColumnSort:IComparer
    }

   2.主窗体      
listview按列自动排序的一点补充public partial class Form1 : Form

     
      大家仔细看这个Form1类,会发现listview1第四行只有两项,运行程序时当我们点击第一列,第二列进行排序是不会出问题,但是如果我们点击了第三列或者第四列的时候就会抛出 listview按列自动排序的一点补充int iColA = listItemA.SubItems.Count;
listview按列自动排序的一点补充            
int iColB= listItemB.SubItems.Count;
listview按列自动排序的一点补充            
//判断listviewitem中是否有空项,如果有空项则将其置为空,然后再进行比较
listview按列自动排序的一点补充
            if (iColA.CompareTo(iColB) > 0)
            }

相关文章:

  • 2021-10-01
  • 2022-12-23
  • 2021-10-17
  • 2021-12-12
  • 2021-09-16
  • 2021-11-26
  • 2021-07-24
猜你喜欢
  • 2021-05-28
  • 2021-10-21
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
相关资源
相似解决方案