需求:如题,增加【物料分组】、【物料】两个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(); }
}
}
至此,设置完毕。
|