DevExpress Xaf入門——關於樹形結構對象的配置(DC模式)


1、在VS2012中通過新建XAF解決方案Solution2,並在Solution2.Web項目中的配置文件Web.config中配置連接字符串;

  <connectionStrings>
    <add name="EasyTestConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=.\SQLEXPRESS;Initial Catalog=Solution2EasyTest" />
    <add name="ConnectionString" connectionString="Data Source=GUANBAOPC\SQLEXPRESS;Initial Catalog=Solution2DB;Persist Security Info=true;User ID=sa;Password=123" />
  </connectionStrings>

2、雙擊Solution2.Module項目下的Module.cs打開Module設計器,從工具箱中把ConditionalAppearanceModule、TreeListEditorsAspNetModule拖到Required Modules中。

3、在解決方案Solution2中對應的項目Solution2.Module的文件夾BusinessObjects中新建Xaf Domain Component對象Department。

Department對象(接口)

using System;
using System.Linq;
using System.Text;
using System.ComponentModel;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.Validation;
using DevExpress.Persistent.Base.General;
using DevExpress.ExpressApp.ConditionalAppearance;
using DevExpress.ExpressApp.Editors;

namespace Solution2.Module.BusinessObjects
{
    [DomainComponent]
    [DefaultClassOptions]
    [XafDisplayName("部門信息")]
    [Appearance("Single", Enabled = false, TargetItems="Name,Children,Parent", 
     Visibility = ViewItemVisibility.Hide, Criteria = "1=1")]
    public interface Department : ITreeNode
    {
        [XafDisplayName("部門名稱")]
        string DepartmentName { get; set; }

        [XafDisplayName("部門編號")]
        string DepartmentCode { get; set; }

        [XafDisplayName("聯系電話")]
        string ContactNumber { get; set; }

        [XafDisplayName("子部門")]
        IList<Department> ChildrenDepartment { get; }

        [XafDisplayName("父部門")]
        Department ParentDepartment { get; set; }
    }

    [DomainLogic(typeof(Department))]
    public class Department_Logic
    {
        public static string Get_Name(Department instance)
        {
            return instance.DepartmentName;
        }

        public static Department Get_Parent(Department instance)
        {
            return instance.ParentDepartment;
        }

        public static IBindingList Get_Children(Department instance)
        {
            return new BindingList<Department>(instance.ChildrenDepartment);
        }
    }
}

4、將Solution2.Web設為啟動項目,並使用調試模式運行解決方案。運行結果如下:

提示:

1、部門對象(Deparment)中父部門屬性(ParentDepartment)必須設置get與set方法;
2、部門對象(Deparment)中父部門屬性(ChildrenDepartment)類型不能以List<Department>代替;
3、Appearance標簽目的是隱藏ITreeNode中的屬性在任何界面上的顯示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM