Mindscape WPF Elements使用教程:排序、过滤和分组
来源:互联网 发布:eclipse 怎么编译java 编辑:程序博客网 时间:2024/06/05 16:18
原文转载自慧都控件网:http://www.evget.com/zh-CN/Info/catalog/18220.html
在Mindscape WPF Elements中时如何实现排序、过滤和分组的呢,今天就来分享一下:
网格排序
网格属性可以按照以下方式来进行设置:
通过设置一个合适的IComparer排序属性:
<ms:PropertyGrid Sorting='{x:Static ms:PropertySorting.ByHumanName}'/>
通过设置的BindingView属性默认视图的CustomSort属性。
通过应用SortDescription到BindingView属性的默认视图,如下:
属性网格排序(程序):
SortDescription alphabetical = new SortDescription("Node.HumanName", ListSortDirection.Ascending);ICollectionView view = CollectionViewSource.GetDefaultView(PropertyGrid1.BindingView);view.SortDescriptions.Add(alphabetical);如果网格的一个实例包含扩展节点,排序描述不传播到子节点(但自定义排序会),如果使用的是SortDescriptions来进行子节点排序,在BindingView collection中定位父节点,并应用一个SortDescription到子属性的默认视图。
过滤网格条目
网格属性可以通过设置BindingView属性的默认视图的过滤属性来过滤,如下所示:
ICollectionView view = CollectionViewSource.GetDefaultView(PropertyGrid1.BindingView);view.Filter = delegate(object obj){ Node node = ((PropertyGridRow)obj).Node; return node.Children.Count == 0;};
分组网格
属性可以按照下面的方法来进行分组:
通过设置分组属性到一个合适的GroupDescription,分组属性包含了一个预定义的对于按情况分组的GroupDescription。
分组属性(声明):
<ms:PropertyGrid Grouping='{x:Static ms:PropertyGrouping.ByCategory}'/>
通过应用一个GroupDescription到绑定窗口属性的默认视图,如下所示:
分组属性(程序):
PropertyGroupDescription byCategory = new PropertyGroupDescription("Node", new NodeToCategoryConverter());
ICollectionView view = CollectionViewSource.GetDefaultView(PropertyGrid1.BindingView);
view.GroupDescriptions.Add(byCategory);
内置支持
属性网格控件选择性的用命令显示工具栏,比如对于按字母顺序排序,或按照类别分组(使用CategoryAttribute),或是搜索过滤设备
- Mindscape WPF Elements使用教程:排序、过滤和分组
- Mindscape WPF Elements使用教程:错误管理
- Mindscape WPF Elements构建仪表教程
- Mindscape WPF Elements构建超炫仪表盘系列教程
- Mindscape WPF Elements中进程控件的使用
- 揭秘Mindscape WPF Elements 5新特性
- WPF Elements数据网格使用教程
- WPF-ListBox分组-排序
- WPF Elements用户界面套包数据网格教程
- .NET界面工具WPF Elements中文教程
- 【网摘】WPF Elements数据网格使用笔记
- 【Android 开发教程】条件查询、过滤和排序
- 基数排序和分组排序
- Fiddler使用教程--过滤
- BIRT报表中实现过滤和分组
- 过滤分组where和having区别
- WHERE&过滤和排序
- Oracle_过滤和排序
- Windows/DOS与Unix文件格式之间的相互转换(/r/n问题)
- C++宏定义
- 利用jquery的ajax提交获得文件下载
- Oracle的Redo的作用及原理
- Ubuntu使用FTP时显示500 Illegal PORT command
- Mindscape WPF Elements使用教程:排序、过滤和分组
- iBatis入门例子
- Nginx event核心模块之epoll模块详解(一)
- Java异常处理的陋习展播
- 感受
- Address already in use: JVM_Bind(端口冲突)
- 大小端测试
- Android中正确自适应屏幕翻转
- 堆栈与函数调用