ListView 表头排序 防闪
2011-11-17 12:32
176 查看
HuronControl.ListView()
功能:单击表头可按照所在列排序,对于已排序列,则反向排序;双缓冲,在动态添加列表项时防止闪烁。该控件继承自System.Windows.Forms.ListView
构造方法
public ListView() { this.ColumnClick += new ColumnClickEventHandler(this.ColumnClick_Sort); SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); UpdateStyles(); }
排序方法
//声明全局变量 private int sortColumn = -1; //事件代码 private void ColumnClick_Sort(object sender, ColumnClickEventArgs e) { if (this.SelectedItems.Count != 0) this.SelectedItems.Clear(); if (e.Column != sortColumn) { //将当前操作列作为排序列 sortColumn = e.Column; //将升序作为默认排序方式 Sorting = SortOrder.Ascending; } else { //变更上次的排序方式 if (Sorting == SortOrder.Ascending) Sorting = SortOrder.Descending; else Sorting = SortOrder.Ascending; } //手动执行排序方法 Sort(); //设置 ListViewItemSorter 为 ListViewItemComparer 的实例 this.ListViewItemSorter = new ListViewItemComparer(e.Column, Sorting); }
比较类
class ListViewItemComparer : IComparer { private int col; private SortOrder order; public ListViewItemComparer() { col = 0; order = SortOrder.Ascending; } public ListViewItemComparer(int column, SortOrder order) { col = column; this.order = order; } public int Compare(object x, object y) { int returnVal = -1; returnVal = String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text); //确定排序方式是否为降序 if (order == SortOrder.Descending) returnVal *= -1; return returnVal; } }
相关文章推荐
- C# ListView中点击表头ColumnClick实现对相应列的排序
- ListView单击表头排序
- C# ListView 点击表头对数据进行排序功能的实现代码
- 使用listview绘制表格,实现双击表头排序
- 单击ListView 列表头实现排序
- C# ListView中点击表头ColumnClick实现对相应列的排序
- C# ListView中点击表头ColumnClick实现对相应列的排序
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- 获取手机通讯录放入PinnedSectionListView中,按名字首字母排序,并且实现拨打电话功能。
- 自定义控件——可拖拽排序的ListView
- listview的排序问题
- delphi StringGrid单击表头进行高速排序
- 怎样对ListView的项进行排序
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- ClistCtrl用法及总结(由怎样隐藏ListCtrl列表头的排序小三角形这个bug学习到的知识)
- C# ListView实现点击列表头实现排序
- 经典水晶报表设计——单击表头排序表格
- 点击listview 的列头对其item进行自动排序
- Android开发实现可拖动排序的ListView功能【附源码下载】
- ListView实现简单的过滤,排序等控制