wpf中ListView控件点击列头排序功能实现(超简洁实用)
.xaml文件中的主要代码
<ListView Name="lvMeasureData" GridViewColumnHeader.Click="Sort_Click"SelectionChanged="lvMeasureData_SelectionChanged" ><ListView.View><GridView ><GridViewColumn Header="测量日期" DisplayMemberBinding="{Binding MeasureDate,StringFormat='yyyy/MM/dd HH:mm'}" Width="180"></GridViewColumn><GridViewColumn Header="测量名称" DisplayMemberBinding="{Binding MeasureName}" Width="200"></GridViewColumn><!--<GridViewColumn Header="组织结构" DisplayMemberBinding="{Binding PersonnelCompany}" Width="100"></GridViewColumn>--><GridViewColumn Header="被测人" DisplayMemberBinding="{Binding PersonnelName}" Width="120"></GridViewColumn><GridViewColumn Header="测量模式" DisplayMemberBinding="{Binding MeasureModString}" Width="0"></GridViewColumn><GridViewColumn Header="类型" DisplayMemberBinding="{Binding MeasureTypeString}" Width="80"></GridViewColumn></GridView></ListView.View></ListView>
.xmal.cs文件中的排序方法sort()
#region listview 控件点击列头排序方法//private ListSortDirection _sortDirection;private GridViewColumnHeader _sortColumn;private void Sort_Click(object sender, RoutedEventArgs e){GridViewColumnHeader column = e.OriginalSource as GridViewColumnHeader;if (column == null||column.Column==null){return;}if (_sortColumn == column){// Toggle sorting direction _sortDirection = _sortDirection == ListSortDirection.Ascending ?ListSortDirection.Descending :ListSortDirection.Ascending;}else{// Remove arrow from previously sorted header if (_sortColumn != null&& _sortColumn.Column!=null){_sortColumn.Column.HeaderTemplate = null;_sortColumn.Column.Width = _sortColumn.ActualWidth - 20;}_sortColumn = column;_sortDirection = ListSortDirection.Ascending;column.Column.Width = column.ActualWidth + 20;}if (_sortDirection == ListSortDirection.Ascending){column.Column.HeaderTemplate = Resources["ArrowUp"] as DataTemplate;}else{column.Column.HeaderTemplate = Resources["ArrowDown"] as DataTemplate;}string header = string.Empty;// if binding is used and property name doesn't match header content Binding b = _sortColumn.Column.DisplayMemberBinding as Binding;if (b != null){header = b.Path.Path;}ICollectionView resultDataView = CollectionViewSource.GetDefaultView((sender as ListView).ItemsSource);resultDataView.SortDescriptions.Clear();resultDataView.SortDescriptions.Add(new SortDescription(header, _sortDirection));}#endregion
运行程序,点击列头发现已实现排序功能,O(∩_∩)O哈哈~欢迎提问和指正
wpf中ListView控件点击列头排序功能实现(超简洁实用)相关推荐
- VB.NET中LISTVIEW控件点击列首排序问题
最近写的程序需要点击LISTVIEW控件的列首排序,搜索了一下网上的文章代码,很少,而且是C#的代码,看了下MSDN,终于搞清楚了VB的写法,MSDN上只有按照字母顺序排序的,于是我加工了一下,可以选 ...
- [WPF]ListView点击列头排序功能实现
[WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了.微软的MSD ...
- android中ListView控件onItemClick事件中获取listView传递的数据
http://blog.csdn.net/aben_2005/article/details/6592205 本文转载自:android中ListView控件&&onItemClick ...
- WPF中DataGrid控件
WPF中DataGrid控件的个别属性使用 //设置不可自动拉伸宽度dataGrid.CanUserResizeColumns = false;//第一列不可见dataGrid.HeadersVisi ...
- 在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug
在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug: SQL数据库表(Product)格式: 列:Guid 产品名称 产品规格. ...
- WPF中一个控件绑定另一个控件的属性
原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin=&qu ...
- wpf中使用控件时,最好给控件取一个好的名字
wpf中使用控件时,最好给控件取一个好的名字, 比如按钮A可以 取名为 btnA 这样使用会是编程清晰.
- WPF中通过控件Margin属性设置控件位置
WPF中通过控件Margin属性设置控件位置 一.Margin属性简介 二.Margin在cs文件中定义 三.Margin设置控件位置 四.参考文档 一.Margin属性简介 在使用WPF进行页面设计 ...
- C++Builder中ListView控件用法和示例总结整理
示例1(此示例转自ccrun 妖哥): __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) {// 切换ListView的显示风格为详 ...
最新文章
- 网站性能调优开发工具: Lighthouse, Puppeteer 以及进阶部分丨 Google 开发者大会 2018...
- 栈和队列的算法题总结
- C语言试题九十之实现输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
- STM32——串口通信
- C++与Java语法上的不同,互联网 面试官 如何面试
- DNS服务系列之二:DNS区域传送漏洞的安全案例
- 关闭IE窗口时执行事件
- 将JSON格式的字符串转换成List集合引入gson 的jar包
- 排版侠html怎么复制,排版侠| 3分钟完美编辑变排版达人
- Android 自定义标尺滑动选择值
- 基于K均值聚类算法的图像分割(Matlab)
- 电容或电感的电压_电压和电流的超前与滞后,你能说清楚吗?
- win与安卓同步剪切板 快传照片
- java中的IO整理(上)(微信文章)
- 按下键盘计算机具体发生了点儿啥?
- Maya10个非常实用的操作技巧,让你轻松玩转Maya
- 2018富途证券前端实习面试总结
- 7-2 531 字符串_小写变大写
- MySQL 用户管理 - 添加用户、授权、删除用户
- stata的固定效应,控制时间和个体的语句