zoukankan      html  css  js  c++  java
  • [原] XAF 如何基于业务规则禁用属性

    How to: Disable Property Editors Based on a Business Rule

    // Developer Express Code Central Example:
    // How to: Disable Property Editors Based on a Business Rule
    // 
    // This example demonstrates how to hide and disable property editors via the
    // Conditional Appearance module (the obsolete Conditional Editor State module is
    // used in versions prior to 11.2). The complete description is available in the
    // How to: Disable Property Editors Based on a Business Rule
    // (ms-help://DevExpress.Xaf/CustomDocument3221.htm) help topic.
    // 
    // You can find sample updates and versions for different programming languages here:
    // http://www.devexpress.com/example=E1672
    
    using System;
    using System.ComponentModel;
    using DevExpress.Xpo;
    using DevExpress.Data.Filtering;
    using DevExpress.ExpressApp;
    using DevExpress.Persistent.Base;
    using DevExpress.Persistent.BaseImpl;
    using DevExpress.Persistent.Validation;
    using DevExpress.ExpressApp.ConditionalAppearance;
    using DevExpress.ExpressApp.Editors;
    
    namespace EditorStateExample.Module {
        [DefaultClassOptions]
        [ImageName("BO_Person")]
        public class Contact : BaseObject {
            public Contact(Session session) : base(session) { }        
            public string Name {
                get { return GetPropertyValue<string>("Name"); }
                set { SetPropertyValue<string>("Name", value); }
            }
            [ImmediatePostData]
            public bool IsMarried {
                get { return GetPropertyValue<bool>("IsMarried"); }
                set { SetPropertyValue<bool>("IsMarried", value); }
            }
            [Appearance("Single", Visibility = ViewItemVisibility.Hide, Criteria = "!IsMarried", Context="DetailView")]
            public string SpouseName {
                get { return GetPropertyValue<string>("SpouseName"); }
                set { SetPropertyValue<string>("SpouseName", value); }
            }
            [ImmediatePostData]
            public string Address1 {
                get { return GetPropertyValue<string>("Address1"); }
                set { SetPropertyValue<string>("Address1", value); }
            }
            [Appearance("AddressOneIsEmpty", Enabled = false, Criteria = "IsNullOrEmpty(Address1)")]
            public string Address2 {
                get { return GetPropertyValue<string>("Address2"); }
                set { SetPropertyValue<string>("Address2", value); }
            }
        }
    }
  • 相关阅读:
    HDU 5213 分块 容斥
    HDU 2298 三分
    HDU 5144 三分
    HDU 5145 分块 莫队
    HDU 3938 并查集
    HDU 3926 并查集 图同构简单判断 STL
    POJ 2431 优先队列
    HDU 1811 拓扑排序 并查集
    HDU 2685 GCD推导
    HDU 4496 并查集 逆向思维
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/3298545.html
Copyright © 2011-2022 走看看