开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 14469|回复: 0

XPO 设计器模式下实现父子类关系,并且父类设置树形显示

[复制链接]

0

精华

17

贡献

10

赞扬

帖子
32
软币
197
在线时间
20 小时
注册时间
2014-7-3
发表于 2016-10-13 16:19:01 | 显示全部楼层 |阅读模式
需求:如题,增加【物料分组】、【物料】两个XPO对象,【物料分组】和【物料】属于上下级关系。希望在打开【物料】列表界面的时候,能看到树形显示。
实现:其中,【物料分组】实现树形显示参考  http://www.cnblogs.com/Bruce_H21/p/5955728.html ,
【物料】和【物料分组】的关系构建如下。
首先在【物料】中新增一个字段命名为【Category】,注意:一定是要Category。
类型是它的上级,【物料分组】。
然后,新增一个聚合关系。
从【物料分组】指向【物料】,系统在两个XPO之间会生成连线,并且在【物料分组】XPO中产生一个新的集合,修改命名为【物料集合】

打开BO对象的类。
把物料类实现ICategorizedItem接口。
[C#] 纯文本查看 复制代码
using System;
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
using System.Collections.Generic;
using System.ComponentModel;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.Base.General;

namespace JZC.ERP.Module.BusinessObjects.Base
{
    [NavigationItem(true, GroupName = "基础资料")]
    public partial class 物料: ICategorizedItem
    {
        public 物料(Session session) : base(session) { }

        public 物料(Session session, string _名称) : base(session) { this.名称 = _名称; }

        
        
        #region 实现ICategorizedItem接口

        ITreeNode ICategorizedItem.Category
        {
            get { return Category; }
            set { Category = (物料分组)value; }
        }
        
        #endregion



        public override void AfterConstruction() { base.AfterConstruction(); }

    }

}

至此,设置完毕。



评分

参与人数 3贡献 +5 赞扬 +3 收起 理由
士大夫手动 + 1 赞一个
psober + 1 赞一个
羽叶 + 5 + 1 感谢分享

查看全部评分

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-19 15:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表