EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

XPO中的Criteria Properties

下面的示例说明了如何在XPO持久性类中实现“条件属性”

private string dataTypeName;
[Browsable(false)]
public string DataTypeName {
    get { return dataTypeName; }
    set {
        Type type = XafTypesInfo.Instance.FindTypeInfo(value) == null ? null :
            XafTypesInfo.Instance.FindTypeInfo(value).Type;
        if(dataType != type) {
            dataType = type;
        }
        if(!IsLoading && value != dataTypeName) {
            Criteria = String.Empty;
            CriteriaInPopupWindow = String.Empty;
        }
        SetPropertyValue<string>(nameof(DataTypeName), ref dataTypeName, value);
    }
}

private Type dataType;
[TypeConverter(typeof(LocalizedClassInfoTypeConverter))]
[ImmediatePostData, NonPersistent]
public Type DataType {
    get { return dataType; }
    set {
        if(dataType != value) {
            dataType = value;
            DataTypeName = (value == null) ? null : value.FullName;
        }
    }
}

private string criteria;
[CriteriaOptions("DataType")]
[Size(SizeAttribute.Unlimited), ObjectValidatorIgnoreIssue(typeof(ObjectValidatorLargeNonDelayedMember))]
[ModelDefault("RowCount", "0")]
[VisibleInListView(true)]
[EditorAlias(EditorAliases.CriteriaPropertyEditor)]
public string Criteria {
    get { return criteria; }
    set { SetPropertyValue<string>(nameof(Criteria), ref criteria, value); }
}

private string criteriaInPopupWindow;
[CriteriaOptions("DataType")]
[Size(SizeAttribute.Unlimited), ObjectValidatorIgnoreIssue(typeof(ObjectValidatorLargeNonDelayedMember))]
[ModelDefault("RowCount", "0")]
[VisibleInListView(true)]
[EditorAlias(EditorAliases.PopupCriteriaPropertyEditor)]
public string CriteriaInPopupWindow {
    get { return criteriaInPopupWindow; }
    set { SetPropertyValue<string>(nameof(CriteriaInPopupWindow), ref criteriaInPopupWindow, value); }
}

有关使用此属性的详细信息,请参见CriteriaOptionsAttribute属性描述。

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