• XAF中实现树形属性或树形编辑


     1.在列表编辑器中

    2.在属性编辑器中

    3.实现代码如下

    代码
    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;

    namespace XSolution1.Module
    {
       [DefaultClassOptions]
        
    public class Employee : BaseObject
        {
            
    public Employee(Session session) : base(session) { }

            
    private string _Name;
            
    public string Name
            {
                
    get
                {
                    
    return _Name;
                }
                
    set
                {
                    SetPropertyValue(
    "Name"ref _Name, value);
                }
            }

            
    private string _Note;
            
    public string Note
            {
                
    get
                {
                    
    return _Note;
                }
                
    set
                {
                    SetPropertyValue(
    "Note"ref _Note, value);
                }
            }

            
    private Department _Department;
            
    public Department Department
            {
                
    get
                {
                    
    return _Department;
                }
                
    set
                {
                    SetPropertyValue(
    "Department"ref _Department, value);
                }
            }
        }

    }
    代码
    using System;
    using System.ComponentModel;
    using DevExpress.Xpo;
    using DevExpress.ExpressApp;
    using DevExpress.Persistent.Base;
    using DevExpress.Persistent.BaseImpl;
    using DevExpress.Persistent.Validation;
    using DevExpress.ExpressApp.Localization;
    using DevExpress.Persistent.Base.General;
    namespace XSolution1.Module

        [DefaultClassOptions]   
        
    public class Department : BaseObject, IHCategory
        { 
            
    private string name; 
            
    private Department parent; 
            
    private void CheckCircularReferences(Department obj) 
            { Department currentObj 
    = obj; while (currentObj != null
            {
                
    if (currentObj == this) { throw new UserFriendlyException(ExceptionId.CircularReference);
                } currentObj 
    = currentObj.Parent; } } 
            
    public Department(Session session) : base(session) { } 
            
    public Department(Session session, string name) : this(session) { this.name = name; } 
            [Association(
    "DepartmentParent-DepartmentChild")]        
            
    public XPCollection<Department> Children 
            {
                
    get { return GetCollection<Department>("Children"); }
            } 
            [Persistent, Association(
    "DepartmentParent-DepartmentChild")]        
            
    public Department Parent 
            { 
                
    get { return parent; } 
                
    set {
                      
    if (!IsLoading) 
                      { 
                          CheckCircularReferences(value);
                      }
                    parent 
    = value; OnChanged("Parent");
                }
            } 
            
    public string Name 
            { 
                
    get { return name; }
                
    set { name = value; OnChanged("Name"); } 
            } 
            IBindingList ITreeNode.Children 
            {
                
    get { return Children as IBindingList; }
            } 
            ITreeNode IHCategory.Parent 
            { 
                
    get { return Parent as IHCategory; } 
                
    set { Parent = value as Department; }
            }
            ITreeNode ITreeNode.Parent 
            { 
                
    get { return Parent as ITreeNode; }
            }
        }
    }

    欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/

  • 相关阅读:
    output (Elements) – HTML 中文开发手册
    JavaSE IO类层次关系和Java IO流的用法总结
    PHP attributes() 函数
    math_errhandling (Numerics) – C 中文开发手册
    C while 循环
    HTML <a> hreflang 属性
    static_assert (Error handling) – C 中文开发手册
    C 嵌套 switch 语句
    HTML DOM Input Time name 属性
    Bootstrap 弹出框
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/1762819.html
Copyright © 2020-2023  润新知