EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:使用功能条件运算符过滤列表视图

所述eXpressApp框架提供了各种方法来过滤列表视图:在数据源水平经由应用程序模型在UI特定水平。在每种方法中,您可能需要将静态变量设置为过滤条件值。例如,过滤器“ Task.DueDate必须设置为当前日期”需要使用CurrentDate变量,该变量在每次需要时进行计算。为此,请使用功能准则运算符。它们代表您可以在条件中使用的功能。在本主题中,您将学习为任务列表视图设置过滤条件时如何使用这些功能条件操作符。要查看内置的功能条件运算符的完整列表并了解如何实现自定义运算符,请参阅功能标准运算符主题。

由于使用函数标准运算符的技术对于任何过滤方法都是通用的,无论是在代码中还是在模型编辑器中,都将选择ListViewFilterAttribute进行演示。

注意

回顾这个例子之前,请务必仔细阅读了一节的“日期时间函数标准对运营商的重要备注”功能标准运营的话题。

提示

DevExpress代码示例数据库(http://www.devexpress.com/example=E3936)中提供了完整的示例项目。

以下代码演示了如何使用LocalDateTimeTodayLocalDateTimeLastWeekLocalDateTimeThisWeek函数条件运算符实现各种过滤器:

using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp.SystemModule;
//...
[DefaultClassOptions]
[ListViewFilter("Today", "[DueDate] = LocalDateTimeToday()")]
[ListViewFilter("In three days", "[DueDate] >= ADDDAYS(LocalDateTimeToday(), -3) AND 
    [DueDate] < LocalDateTimeToday()")]
[ListViewFilter("In two weeks", "[DueDate] >= ADDDAYS(LocalDateTimeToday(), -14) AND 
    [DueDate] < LocalDateTimeToday()")]
[ListViewFilter("The last week", "[DueDate] > LocalDateTimeLastWeek() AND 
    [DueDate] <= ADDDAYS(LocalDateTimeLastWeek(), 5)")]
[ListViewFilter("This week", "[DueDate] > LocalDateTimeThisWeek() AND 
    [DueDate] <= ADDDAYS(LocalDateTimeThisWeek(), 5)")]
public class Task : BaseObject {
   public Task(Session session) : base(session) {}
   private DateTime dueDate;
   [ModelDefault("EditMask","d")]
   public DateTime DueDate {
      get {
         return dueDate;
      }
      set {
         SetPropertyValue(nameof(DueDate), ref dueDate, value);      }
   }
}

上面的代码为应用程序模型Views | Views生成了几个Filter子节点。Task_ListView节点:

FCO_ListViews

注意

您可以在模型编辑器中手动生成这些节点。

下图演示了包含上面代码提供的所有过滤器的“过滤器操作”:

列表Views_Result的只读参数

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