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 ...
随机推荐
- 最强Java并发编程详解:知识点梳理,BAT面试题等
本文原创更多内容可以参考: Java 全栈知识体系.如需转载请说明原处. 知识体系系统性梳理 Java 并发之基础 A. Java进阶 - Java 并发之基础:首先全局的了解并发的知识体系,同时了解 ...
- [TimLinux] selinux sesearch命令详解
1. 描述 sesearch用于搜索SELinux安全策略规则集,命令来自包:yum install setools-console. 2. 命令 命令使用方法: sesearch [OPTIONS] ...
- 微信小程序 buton清除默认样式
相信很多小伙伴在开发小程序的时候都会碰到小程序Button默认样式的困扰,在重设样式的时候需要一次次的设置 分享一个自己在开发中的小方法: CSS all 简写属性 将除 unicode-bidi 与 ...
- numpy的基本API(二)——维数操作
numpy的基本维数操作API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.np.copyto(dst, src) copyto方法将数组src复制到 ...
- 怎么定义一个自己的vue组件
1.在src文件夹中创建一个hello文件夹,然后创建hello.js和hello.vue 2.hello.vue代码如下 <template> <button>这是hello ...
- USB工业摄像头设计之上位机
在工业相机中对摄像头要求较高,且采集的图像数据要求是源数据,未经过任何处理. 为了兼容xp.win7(32bit 64bit) 程序采用VS2008 MFC编制,参考网上一些应用. CYUSB驱动与 ...
- 关于C 语言的字符串常量拼接
问题记录: C语言中,字符串是否可以通过连续的常量创建直接编辑拼接在一起? 比如下述语句赋值: const char *path = “this is string one” “this is s ...
- JS系列:js节点
节点(node) 在html文档中出现的所有东西都是节点 元素节点(HTML标签) 文本节点(文字内容) 注释节点(注释内容) 文档节点(document) … 每一种类型的节点都会有一些属性区分自己 ...
- 移动端Vue图片获取,压缩,预览组件-upload-img(H5+获取照片,压缩,预览)
组件示例图 组件代码 upload_img.vue <div id="uploadImg"> <div class="upload_image_box& ...
- jvm调优、常用工具
ps -ef | grep java查出进程id jmap -heap ID 查出jvm配置信息 加入参数:打印Gc日志,分析 GC日志分析工具: GCeasy 降低minor gc 和 full g ...