zoukankan      html  css  js  c++  java
  • 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 属性设置为"开发部门联系人"。要指定条件,请将"标准"属性设置为"[部门.标题] = "开发部门""值。

    Tutorial_UIC_Lesson19_2

    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 (EllipsisButton) 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 属性设置为"开发人员"和"条件"属性 - 设置为"位置.标题 = "开发人员"。。

    Tutorial_UIC_Lesson19_3

    • 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 属性设置为"所有联系人",并将"条件"属性保留为空。

    Tutorial_UIC_Lesson19_3_1

    • For the Filters node, set the CurrentFilterID property to "Developers". Save the changes.

    • 对于筛选器节点,将"当前筛选器ID"属性设置为"开发人员"。保存更改。

    Tutorial_UIC_Lesson19_3_2

     

    • 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应用程序,并在导航控件中选择"联系人"项。请注意,"设置筛选"操作现在可用。

    Tutorial_UIC_Lesson19_4

    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节点。将其"条件"属性设置为"位置.标题 = "开发人员"。。

    Tutorial_UIC_Lesson19_5

    • 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应用程序,并在导航控件中选择"联系人"项。检查是否筛选了列表视图中的"联系人"对象。
  • 相关阅读:
    javaweb基础(6)_servlet配置参数
    javaweb基础(5)_servlet原理
    读书笔记:java特种兵(上)
    基础算法(四):海量数据的处理方法
    基础算法(三)动态规划和贪心算法
    基础算法(二):堆排序,快速排序
    基本算法(一):插入排序,归并排序
    JVM基础和调优(六)
    JVM基础和调优(五)
    JVM基础和调优(四)
  • 原文地址:https://www.cnblogs.com/foreachlife/p/Filter-List-Views.html
Copyright © 2011-2022 走看看