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中的屬性在任何界面上的顯示。