devexpress从子列表

时间:2016-01-15 22:37:23

标签: devexpress xaf

我需要一些帮助。 我有表A(主)和表B(儿童)。 我正在使用DevExpress XAF。 我需要在Child中评估最后一行并将其显示给主表A中的用户。

让我们说表A有followind字段: OID, 雇员, 地址 [名称] =为员工提交的持久性

让我们说表B有以下字段: OID, 员工(参考标准A), 状态(打开,已分配,已关闭), 状态日期

子表每个主记录至少有2条记录: Oid员工状态状态日期 1 Mark打开2015-12-12 2 Mark Markigned 2015-12-13 3 Mark关闭2015-12-29

到目前为止,我用过这个:

    [PersistentAlias("TableB[Status != 'Closed']")]
public GetStatus
{
   get
       {return EvaluateAlias(GetStatus)};
}

我想在主表A中显示每个员工的最后一个子列表状态。 当我运行此代码时,我得到Open,因为它与Closed不同,但我想要的是如果表B中的最后一行是Status = Closed,则应该返回Closed。 不知道我是否正确解释了! 有任何想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

您应该使用聚合函数来选择集合的最后一个元素,例如,max和single函数。

[PersistentAlias("TableB.Max(Date)")]
public DateTime? GetLastActionDate
{
   get
       {return (DateTime?)EvaluateAlias(GetLastActionDate)};
}

[PersistentAlias("TableB[Date == GetLastActionDate].Single()")]
public TableB GetStatus
{
   get
       {return (TableB)EvaluateAlias(GetStatus)};
}