EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

实施自定义业务类和参考属性(XPO)

在本课程中,您将学习如何从头开始实现业务类。为此,将实施部门职位业务类别。这些类将在之前实现的Contact类中使用。您还将学习参考对象自动用户界面构建的基础。

注意

在继续之前,请花一点时间回顾“从业务类库类(XPO)继承”课程。

  • 将以下DepartmentPosition持久类添加到Contact.csContact.vb)文件。

    [DefaultClassOptions]
    [System.ComponentModel.DefaultProperty(nameof(Title))]
    public class Department : BaseObject {
        public Department(Session session) : base(session) { }
        private string title;
        public string Title {
            get { return title; }
            set { SetPropertyValue(nameof(Title), ref title, value); }
        }
        private string office;
        public string Office {
            get { return office; }
            set { SetPropertyValue(nameof(Office), ref office, value); }
        }
    }
    [DefaultClassOptions]
    [System.ComponentModel.DefaultProperty(nameof(Title))]
    public class Position : BaseObject {
        public Position(Session session) : base(session) { }
        private string title;
        public string Title {
            get { return title; }
            set { SetPropertyValue(nameof(Title), ref title, value); }
        }
    }
    

    这些新类是持久性的,因为它们是BaseObject类的后代。

    注意

    所述DefaultProperty属性在上面的代码中使用。此属性用于指定类的默认属性。您可以在DefaultProperty属性中指定类的最具描述性的属性,其值将显示在下面。

    • 详细表格标题
    • 列表视图的最左列
    • 查找列表视图(这些视图将在本课程的最后一步中进行说明。)

    有关其他信息,请参阅“数据模型中的数据注释”主题。

  • DepartmentPosition属性添加到Contact类。下面的代码演示了这一点。

    [DefaultClassOptions]
    public class Contact : Person {
        //...
        private Department department;
        public Department Department {
            get {return department;}
            set {SetPropertyValue(nameof(Department), ref department, value);}
        }
        private Position position;
        public Position Position {
            get {return position;}
            set {SetPropertyValue(nameof(Position), ref position, value);}
        }
        //...
    }
    

    现在 ,Contact类公开了PositionDepartment引用属性。

    注意

    如果安装了CodeRush,则可以在实现业务类时使用代码模板。使用代码模板可减少代码创建时间,因为它有助于避免手动键入整个代码,并使您只需几次击键即可创建常规代码部分。要了解eXpress持久对象的内置代码模板,请参阅XPO和XAF模板主题。

  • 运行WinForms或ASP.NET应用程序。您将看到如何使用指定的数据结构自动生成用户界面。导航控件将包含新的“部门”和“位置”项,使您可以访问“部门”和“位置”对象。请注意,在“联系人详细信息视图”中,已经为“部门”和“职位”创建了一个查找编辑器。在此编辑器中,使用一种特殊的View类型,即Lookup List View。通常,此视图只有一列与该类的默认属性相对应。使用查找编辑器,您可以选择所需的部门当前联系人的Position),然后使用New按钮添加新的DepartmentPosition)对象。此外,您还可以通过按住SHIFT CTRL并单击选定的对象来编辑现有的Department(Position)对象。

    Tutorial_BMD_Lesson3_1

您可以在MySolution.Module中查看本课程中演示的代码。业务对象| XAF随附的Main Demo的Contact.csContact.vb)文件。该MainDemo应用程序安装在%PUBLIC%\文件\ DevExpress的演示19.2 \组件\ eXpressApp框架\ MainDemo默认。可从http://demos.devexpress.com/XAF/MainDemo/在线获得ASP.NET版本。

下一课: 从业务类库(XPO)添加类

相关文章

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