EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

建立标准的方法

本主题演示了在XAF应用程序中使用任何过滤技术时创建标准的选项。

作为CriteriaOperator对象的条件

当需要将条件设置为CriteriaOperator对象时,可以使用以下选项:

  • 使用XPO提供的条件运算符。您可以使用几个XPO条件运算符来构建所需的条件。以下代码演示了如何使用BinaryOperator构建简单的条件:

    using DevExpress.Data.Filtering;
    //...
    // The criteria that represents a logical expression (City <> "Chicago") 
    // is represented by the BinaryOperator and two operands.
    CriteriaOperator criteria = new BinaryOperator(
        new OperandProperty("City"), new OperandValue("Chicago"),
        BinaryOperatorType.NotEqual);
    
  • 使用CriteriaOperator.Parse方法。您可以将条件表示为人类可读的字符串,并使用静态CriteriaOperator.Parse方法对其进行解析。

    using DevExpress.Data.Filtering;
    //...
    //The criteria that represents a logical expression (City <> "Chicago") is represented by a string.
    CriteriaOperator criteria = CriteriaOperator.Parse("City != 'Chicago'");
    

    要了解CriteriaOperator.Parse方法中使用的语法,请参阅“标准语言语法”帮助主题。

有关如何使用XPO技术构建标准的详细信息,请参考以下链接:

作为字符串的条件

在需要将条件指定为字符串的任何地方,都应设置可以由静态CriteriaOperator.Parse方法解析的字符串。要了解此方法中使用的语法,请参阅“标准语言语法”帮助主题。

您应该在其中将条件指定为字符串的位置包括“模型编辑器”中的属性,以及代码中的属性以及不同的属性和方法。

以下代码演示了如何为Action的ActionBase.TargetObjectsCriteria属性设置条件。下面的控制器使得当所选任务DueUtate属性值小于或等于系统日期和时间时:

public partial class MyController : ViewController {
   private void MyController_AfterConstruction(object sender, EventArgs e) {
      TargetObjectType = typeof(Task);
      MyAction.SelectionDependencyType = SelectionDependencyType.RequireMultipleObjects;
      MyAction.TargetObjectsCriteria = "DueDate <= LocalDateTimeNow()";
   }
}

下图演示了如何在模型编辑器中指定TargetObjectsCriteria属性:

WaysToBuildCriteria

通过条件属性编辑器获取条件字符串

XAF提供以下字符串属性编辑器,用于可视化地构造过滤条件(请参阅Criteria Properties):

  • Windows窗体条件属性编辑器:

    • CriteriaPropertyEditor
    • ExtendedCriteriaPropertyEditor
    • PopupCriteriaPropertyEditor
  • ASP.NET条件属性编辑器:

    • ASPxCriteriaPropertyEditor
    • ASPxPopupCriteriaPropertyEditor

这些属性编辑器可用于表示以CriteriaOptionsAttribute属性修饰的字符串属性。下图说明了PopupCriteriaPropertyEditor

PopupCriteriaPropertyEditor

相应的条件字符串为:

[DueDate] <= LocalDateTimeNow()和[Status] ='Completed'

重要概念是,条件属性编辑器可以生成包含XAF特定对象参数的条件字符串。XPO提供的CriteriaOperator.Parse方法无法解析此类条件字符串。您应该使用CriteriaEditorHelper帮助器类公开的GetCriteriaOperator方法,以获取相应的CriteriaOperator对象:

CriteriaOperator criteria = 
    CriteriaEditorHelper.GetCriteriaOperator(criteriaString, dataType, objectSpace);

请参阅“如何:使用条件属性编辑器”主题以查看完整的示例。本主题还提供了ASP.NET应用程序中当前“条件属性编辑器”限制的列表。

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