EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

条件属性

可以从以下位置显示存储“标准语言语法”表达式的字符串属性:

  • 过滤器生成器控件;
  • 一个允许最终用户手动输入条件并在弹出窗口中显示“过滤器生成器”的编辑器。
注意

要查看使用“标准属性编辑器”的示例,请参阅“如何:使用标准属性编辑器”主题。

要查看运行中的条件属性编辑器,请参考属性编辑器|。XAF随附的Feature Center演示中的“条件属性”部分。默认情况下,Feature Center演示安装在%PUBLIC%\ Documents \ DevExpress演示19.2 \ Components \ eXpressApp Framework \ FeatureCenter中。该演示的ASP.NET版本可从http://demos.devexpress.com/XAF/FeatureCenter/在线获得。

例子

用于条件属性的WinForms属性编辑器

每个WinForms属性编辑器都有一个控件,该控件在Detail View中显示相应的属性,还有一个存储库项目,它在支持就地编辑的List Editor中显示一个属性。控件和存储库项目均显示如下。

CriteriaPropertyEditor

控件: FilterEditorControl

存储库项目:没有特定的存储库项目。

描述:

用于存储过滤条件的字符串属性。此属性编辑器允许最终用户使用“过滤器”选项卡中的“过滤器生成器”控件或在“文本”选项卡中键入文本来构造过滤条件。

存储过滤条件的字符串属性必须用CriteriaOptionsAttribute装饰。默认情况下,在Windows Forms应用程序中,这些属性由此属性编辑器表示。

PopupCriteriaPropertyEditor

控件: FilterEditorControl

存储库项目: RepositoryItemPopupCriteriaEdit - XtraEditors库中RepositoryItemButtonEdit存储库项目的后代。

描述:

用于存储过滤条件的字符串属性。该属性编辑器允许最终用户在单独的窗口中构造过滤条件,以节省明细表中的空间。此窗口显示CriteriaPropertyEditor

要使用此属性编辑器,请将其分配给所需的BOModel | PropertyEditorType属性。<类别> | 会员| <成员>节点或视图| <DetailView> | 物品| <PropertyEditor>节点。

此属性编辑器显示的属性必须用CriteriaOptionsAttribute装饰。

PopupCriteriaPropertyEditor使用CriteriaPropertyEditor项创建一个弹出详细视图,该视图在内部使用FilterEditorControl组件。要访问FilterEditorControl选项,请使用与“访问编辑器设置”教程中所述类似的方法-为DevExpress.ExpressApp.Editors.CriteriaProvider类型的详细视图实现一个视图控制器,并访问CriteriaPropertyEditor.Control属性。

用于条件属性的ASP.NET属性编辑器

每个ASP.NET属性编辑器都有一些控件,这些控件可以在Detail View的View和Edit模式下显示属性(请参见DetailView.ViewEditMode)。这些控件在下面列出。

ASPxCriteriaPropertyEditor

视图模式控件: System.Web.UI.WebControls.Label。

编辑模式控件: ASPxFilterControl

描述:

用于存储过滤条件的字符串属性。此属性编辑器允许最终用户使用“过滤器”选项卡中的“过滤器生成器”控件或在“文本”选项卡中键入文本来构造过滤条件。

存储过滤条件的字符串属性必须用CriteriaOptionsAttribute装饰。默认情况下,这些属性由ASP.NET Web应用程序中的此属性编辑器表示。

ASPxPopupCriteriaPropertyEditor

视图模式控件: System.Web.UI.WebControls.Label。

编辑模式控件: ASPxButtonEdit

描述:

用于存储过滤条件的字符串属性。该属性编辑器允许最终用户在单独的窗口中构造过滤条件,以节省细节形式的空间。此窗口显示ASPxCriteriaPropertyEditor。要使用此属性编辑器,请将其设置为所需BOModel |的PropertyEditorType属性。<类别> | 会员| <成员>节点或视图| <DetailView> | 物品| <PropertyEditor>节点。

存储过滤条件的字符串属性必须用CriteriaOptionsAttribute装饰。

ASP.NET应用程序中的条件属性编辑器选项

使用“可视”选项卡编辑条件时,可以在普通列表中或在树状结构中选择对象属性(使引用对象的属性可用)。

CriteriaWebModes

无论ASPxCriteriaPropertyEditorASPxPopupCriteriaPropertyEditor编辑暴露出以下属性。

财产 类型 描述
AllowFilterControlHierarchy 布尔型 指定是否显示参考属性的层次树。
最大层次深度 整数32 指定启用AllowFilterControlHierarchy时可以显示的最大层次结构深度级别。
注意

您还可以使用ASPxGridListEditor的类似选项来调整网格过滤器控件的行为:

要为单个编辑器更改这些选项,请使用以下控制器:

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Web.Editors.ASPx;
// ...
public class CriteriaEditorController : ViewController<DetailView> {
    protected override void OnActivated() {
        base.OnActivated();
        ASPxCriteriaPropertyEditor propertyEditor = 
            View.FindItem("MyCriteriaProperty") as ASPxCriteriaPropertyEditor;
        if(propertyEditor != null) {
            propertyEditor.AllowFilterControlHierarchy = true;
            propertyEditor.MaxHierarchyDepth = 4;
        }
    }
}

若要全局更改这些选项,对于应用程序中的所有ASPxCriteriaPropertyEditorASPxPopupCriteriaPropertyEditor编辑器,请使用以下静态属性。

  • ASPxCriteriaPropertyEditor.AllowFilterControlHierarchyDefault
  • ASPxCriteriaPropertyEditor.MaxHierarchyDepthDefault

此外,您可以使用静态ASPxCriteriaPropertyEditor.AlwaysShowKeyPropertyInFilterControl属性。它指定key属性在ASPxFilterControl中是否可见,即使应用了Browsable (false)属性。默认值为true

由于这些属性是静态的,因此您可以从代码中的任何适当位置(例如,从WebApplication构造函数中)访问它们。

using DevExpress.ExpressApp.Web.Editors.ASPx;
// ...
ASPxCriteriaPropertyEditor.AllowFilterControlHierarchyDefault = true;
ASPxCriteriaPropertyEditor.MaxHierarchyDepthDefault = 3;
ASPxCriteriaPropertyEditor.AlwaysShowKeyPropertyInFilterControl = false;

ASP.NET应用程序中的条件属性编辑器限制

  • 持久对象可以在条件构造中使用(在此示例中,它是Person类型的Manager引用属性)。参考属性是使用Windows窗体应用程序中的“查找属性编辑器”显示的。默认情况下,此“查找列表视图”仅包含具有对象默认属性的一列。您可以通过使用VisibleInLookupListViewAttribute装饰必需的属性,或通过在模型编辑器中将列添加到相应的“查找列表”视图中来添加更多列。但是,在ASP.NET应用程序中,默认情况下,查找属性编辑器由组合框表示。当前,您不能在ASP.NET Criteria Editors中使用复杂的查找编辑器:

    HowToUseCriteriaPropertyEditors7

  • 当AllowFilterControlHierarchy属性设置为true时,不能使用Equals运算符并从查找中选择引用属性值。
  • 在ASP.NET Criteria属性编辑器中,某些Function Criteria运算符只能在“文本”选项卡中使用。

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