EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

过滤器列表视图

在本课程中,您将学习如何过滤列表视图。将说明基于不同场景的三种技术。在本课程中,过滤器将应用于“联系人列表视图”。

注意

在继续之前,请花一点时间回顾以下课程。

激活过滤器动作

使用此方法可使最终用户将预定义的过滤器应用于特定的列表视图。通过这种方法,SetFilter操作(其项代表预定义的过滤器)在用户界面中可见。仅针对列表视图激活此操作。可以在“应用程序模型”中添加预定义的过滤器,并由“视图” |“子视图”的子节点表示。<ListView> | 过滤器节点(请参阅过滤器应用程序模型节点)。

  • 调用模型编辑器MySolution.Module项目。导航到视图| MySolution.Module.BusinessObjects | Contact_ListView节点。右键单击“过滤器”子节点,然后选择“新建” |“新建”。ListViewFilterItem。对于新节点,将Id属性设置为“ Development Department Contacts”。若要指定标准,请将“标准”属性设置为“ [[Department.Title] ='Development Department'””值。

    Tutorial_UIC_Lesson19_2

    注意

    标准的属性值必须使用指定的标准语言的语法。为了简化此任务,您可以通过单击“条件”值右侧的省略号按钮()来调用“过滤器生成器”对话框。在此对话框中,您可以使用可视的Filter Builder设计条件表达式。省略号按钮

  • 如上所述,将一个“过滤器”节点添加到“过滤器”节点。将Id属性设置为“ Developers”,将Criteria属性设置为“ Position.Title ='Developer'”。

    Tutorial_UIC_Lesson19_3

  • 为了能够在“列表视图”中查看所有Contact对象,请按照上面的定义在“过滤器”节点中再添加一个“过滤器”节点。将Id属性设置为“所有联系人”,然后将Criteria属性保留为空。

    Tutorial_UIC_Lesson19_3_1

  • 对于“过滤器”节点,将CurrentFilterID属性设置为“ Developers”。保存更改。

    Tutorial_UIC_Lesson19_3_2

  • 运行WinForms或ASP.NET应用程序,然后在导航控件中选择“联系人”项。请注意,SetFilter操作现在可用。

    Tutorial_UIC_Lesson19_4

使用模型编辑器的应用程序| 意见| ListView节点

使用此方法通过模型编辑器过滤列表视图。最终用户无法更改在“模型编辑器”中应用的过滤器。

  • 运行模型编辑器MySolution.Module项目。导航到视图| MySolution.Module.BusinessObjects | Contact_ListView节点。将其Criteria属性设置为“ Position.Title ='Developer'”。

    Tutorial_UIC_Lesson19_5

  • 运行WinForms或ASP.NET应用程序。在导航控件中选择“联系人”项目,然后检查列表视图中的“联系人”对象是否被过滤。

在数据源级别过滤

如果需要应用在运行时或通过模型编辑器不会更改的过滤器,请使用此方法。

  • 按照添加简单操作教程以及扩展功能部分中的其他课程中的定义,创建一个View Controller并生成Activated事件处理程序。
  • 用以下代码替换为Activated事件处理程序生成的代码。

    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);
          }
       }
    }
    
  • 运行WinForms或ASP.NET应用程序,然后在导航控件中选择“联系人”项。检查以查看列表视图中的联系人对象是否被过滤。

下一课: 将分组应用于列表视图数据

相关文章

转载保留此链接,注明出处