Filter List Views 筛选器列表视图
In this lesson, you will learn how to filter a List View. Three techniques, based on different scenarios, will be illustrated. For this lesson, a filter will be applied to the Contact List View.
在本课中,您将学习如何筛选列表视图。将说明基于不同方案的三种技术。在本课中,筛选器将应用于联系人列表视图。
Note 注意
Before proceeding, take a moment to review the following lessons.
在继续之前,请花点时间复习以下课程。
- Inherit from the Business Class Library Class (XPO/EF)
- Implement Custom Business Classes and Reference Properties (XPO/EF)
- Set a One-to-Many Relationship (XPO/EF)
- Filter Lookup Editor Data Source
- Place an Action in a Different Location
- 从商务舱库类 (XPO/EF) 继承
- 实现自定义业务类和参考属性 (XPO/EF)
- 设置一对多关系 (XPO/EF)
- 筛选器查找编辑器数据源
- 将操作放置在其他位置
Activate a Filter Action
激活筛选器操作
Use this approach to enable an end-user to apply predefined filters to a particular List View. With this approach, the SetFilter Action (whose items represent predefined filters) is visible in the user interface. This action is activated for List Views only. Predefined filters can be added in the Application Model, and are represented by child nodes of the Views | <ListView> | Filters node (see Filters Application Model Node).
使用此方法使最终用户能够将预定义的筛选器应用于特定的列表视图。使用此方法,SetFilter 操作(其项表示预定义的筛选器)在用户界面中可见。此操作仅针对列表视图激活。预定义的筛选器可以添加到应用程序模型中,并由视图的子节点表示 |<ListView>*筛选器节点(请参阅筛选器应用程序模型节点)。
Invoke the Model Editor for the MySolution.Module project. Navigate to the Views | MySolution.Module.BusinessObjects | Contact_ListView node. Right-click the Filters child node and select New | ListViewFilterItem. For the new node, set the Id property to "Development Department Contacts". To specify a criteria, set the Criteria property to the "[Department.Title] = 'Development Department'" value.
- 调用 MySolution.模块项目的模型编辑器。导航到视图 |My解决方案.模块.业务对象 |Contact_ListView节点。右键单击"筛选器子节点"并选择"新建 |列表视图筛选器项。对于新节点,将 Id 属性设置为"开发部门联系人"。要指定条件,请将"标准"属性设置为"[部门.标题] = "开发部门""值。

Note 注意
The Criteria property value must be specified using the Criteria Language Syntax. To simplify this task, you can invoke the Filter Builder dialog by clicking the ellipsis button (
) to the right of the Criteria value. Within this dialog, you can design a criteria expression using the visual Filter Builder.
必须使用"条件语言语法"指定"条件"属性值。要简化此任务,可以通过单击条件值右侧的省略号按钮 (EllipsisButton) 来调用"筛选器生成器"对话框。在此对话框中,可以使用可视筛选器生成器设计条件表达式。
Add one more Filter node to the Filters node as defined above. Set the Id property to "Developers" and the Criteria property - to "Position.Title = 'Developer'".
- 如上定义,向筛选器节点再添加一个筛选器节点。将 Id 属性设置为"开发人员"和"条件"属性 - 设置为"位置.标题 = "开发人员"。。

To be able to view all Contact objects in the List View, add one more Filter node to the Filters node, as defined above. Set the Id property to "All Contacts" and leave the Criteria property empty.
- 为了能够查看列表视图中的所有联系人对象,请向筛选器节点再添加一个筛选器节点,如上所述。将 Id 属性设置为"所有联系人",并将"条件"属性保留为空。

For the Filters node, set the CurrentFilterID property to "Developers". Save the changes.
- 对于筛选器节点,将"当前筛选器ID"属性设置为"开发人员"。保存更改。

- Run the WinForms or ASP.NET application and select the Contacts item in the navigation control. Notice that the SetFilter Action is now available.
- 运行 WinForms 或ASP.NET应用程序,并在导航控件中选择"联系人"项。请注意,"设置筛选"操作现在可用。

Use the Model Editor's Application | Views | ListView Node
使用模型编辑器的应用程序 |视图 |列表视图节点
Use this approach to filter a List View via the Model Editor. Filters applied with the Model Editor cannot be changed by end-users.
使用此方法通过模型编辑器筛选列表视图。最终用户无法更改与模型编辑器一起应用的筛选器。
Run the Model Editor for the MySolution.Module project. Navigate to the Views | MySolution.Module.BusinessObjects | Contact_ListView node. Set its Criteria property to "Position.Title = 'Developer'".
- 运行 MySolution.模块项目的模型编辑器。导航到视图 |My解决方案.模块.业务对象 |Contact_ListView节点。将其"条件"属性设置为"位置.标题 = "开发人员"。。

- Run the WinForms or ASP.NET application. Select the Contacts item in the navigation control and check to see if the Contact objects in the List View are filtered.
- 运行 WinForms 或ASP.NET应用程序。选择导航控件中的"联系人"项并检查是否筛选了"列表"视图中的"联系人"对象。
Filter on Data Source Level
在数据源级别上筛选
Use this approach if you need to apply filters that will not be changed at runtime or via the Model Editor.
如果需要应用在运行时或通过模型编辑器不会更改的筛选器,请使用此方法。
- Create a View Controller and generate the Activated event handler, as defined in the Add a Simple Action tutorial, as well as the other lessons from the Extend Functionality section.
Replace the generated code for the Activated event handler with the following code.
创建视图控制器并生成已激活的事件处理程序,如"添加简单操作"教程中定义,以及"扩展功能"部分中的其他课程。
将已激活事件处理程序生成的代码替换为以下代码。
using DevExpress.Data.Filtering;
using MySolution.Module.BusinessObjects;
// ...
public partial class FilterListViewController : ViewController {
// ...
private void FilterListViewController_Activated(object sender, EventArgs e) {
if ((View is ListView) & (View.ObjectTypeInfo.Type == typeof(Contact))) {
((ListView)View).CollectionSource.Criteria["Filter1"] = new BinaryOperator(
"Position.Title", "Developer", BinaryOperatorType.Equal);
}
}
}- Run the WinForms or ASP.NET application and select the Contacts item in the navigation control. Check to see if the Contact objects in the List View are filtered.
- 运行 WinForms 或ASP.NET应用程序,并在导航控件中选择"联系人"项。检查是否筛选了列表视图中的"联系人"对象。
Filter List Views 筛选器列表视图的更多相关文章
- 表示层设计模式:Intercepting Filter(截取筛选器)模式
上下文 问题 影响因素 解决方案 变体 示例 结果上下文 相关模式 致谢 上下文 对于任何一个曾经从头建立 Web 应用程序的人来说,他们都会有这样的体会:这项任务所需要的独立完成 ...
- SharePoint 2013无代码实现列表视图的时间段动态筛选
本文介绍两种为列表视图设置时间段筛选器的方法.其中,第一个方法用于SharePoint Server,第二个方法同时还能用于SharePoint Foundation. 方法一:日期筛选器Web部件 ...
- Filter 筛选器(一)之 ActionFilter-- IAsyncActionFilter 和 ActionFilterAttribute
微软官网例子:Filter筛选器 使用场景(执行顺序): IAsyncActionFilter 使用异步actionFilter 只需要实现 他的 :OnActionExecutionAsync 方法 ...
- Android列表视图(List View)
Android列表视图(ListView) ListView是一个显示滚动项列表的示视图组(viewgroup),通过使用适配器(Adapter)把这些列表项自动插入到列表中.适配器比如从一个数组或是 ...
- asp.net core 2.2 中的过滤器/筛选器(上)
ASP.NET Core中的过滤器/筛选器 通过使用 ASP.NET Core MVC 中的筛选器,可在请求处理管道中的特定阶段之前或之后运行代码. 注意:本主题不适用于 Razor 页面. ASP. ...
- tableau-交互筛选器
欢迎观看这段关于“交互筛选器”的视频. 将字段拖到筛选器功能区就可以轻松执行筛选,但是如果我们希望能够直接从视图中修改筛选器 选择项,那该怎么办?如果我们在可看到“子类别”字段的任何位置右键单击, ...
- jQuery的基本使用及选择器和筛选器
回顾 事件 鼠标clickdblclickcontextmenumouseentermouseleavemousemovemousedownmouseup键盘keydownkeyupkeypress ...
- abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- drf过滤器、分页器、筛选器的应用
一.drf 提供的过滤器(ordering) views.py from rest_framework.generics import ListAPIView from . import models ...
随机推荐
- 华为参与《基于5G技术的医院网络建设标准》的制定
[摘要] 5G 千兆网承载五地远程会诊,现场完成三例复杂性疑难重症远程病例讨论 [中国,北京,2019年9月4日] 金秋之际,在国家卫生健康委指导下,由中日友好医院•国家远程医疗与互联网医学中心•国家 ...
- 转:浅谈Spring的PropertyPlaceholderConfigurer
大型项目中,我们往往会对我们的系统的配置信息进行统一管理,一般做法是将配置信息配置与一个cfg.properties的文件中,然后在我们系统初始化的时候,系统自动读取cfg.properties配置文 ...
- 解密国内BAT等大厂前端技术体系-阿里篇(长文建议收藏)
进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了. 整个业界在前端框架不断迭代中,也寻找到 ...
- 宜信SDL实践:产品经理如何驱动产品安全建设
一.序言 本文从产品经理的角度出发,对产品经理的安全职责.产品驱动安全的内涵.工作内容.工作方法.所需安全资源.以及产品经理的安全工作量进行了分析.希望所有产品经理在没有心理负担的情况下,有目标.有方 ...
- STM32调试总结
1.卡死在这里的问题:没有中断处理函数,程序无法进入中断处理函数.DMA2_Channel3_IRQHandlerDMA2_Channel4_IRQHandlerDMA2_Channel5_IRQHa ...
- 【JS】302- 回调地狱解决方案之Promise
为什么出现Promise 在javascript开发过程中,代码是单线程执行的,同步操作,彼此之间不会等待,这可以说是它的优势,但是也有它的弊端,如一些网络操作,浏览器事件,文件等操作等,都必须异步执 ...
- Dubbo源码分析之SPI(二)
一.概述 本篇文章是dubbo SPI源码分析的第二篇,接着第一篇继续分析dubbo SPI的内容,我们主要介绍 getDefaultExtension() 获取默认扩展点方法. 由于此方法比较简单, ...
- 201871010119-帖佼佼《面向对象程序设计(java)》第二周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ...
- VMware Centos中创建克隆虚拟机导致网卡设备无法启动的问题
一.前言 在创建克隆虚拟机的时候,如果样板虚拟机没有事先配置好,则会导致网卡设备无法启动的问题(报错如下). Bringing up interface eth0: Device eth0 does ...
- 在Linux系统下制作系统启动盘(Ubuntu Linux)
在Linux系统下制作系统启动盘有两种方法: 1.用dd命令 2.用Linux自带的图形界面工具 Startup Disk Creator 本教程使用第2种方式,用Linux自带的图形界面工具制作系统 ...
) to the right of the Criteria value. Within this dialog, you can design a criteria expression using the visual Filter Builder.