2016-01-15 32 views
0

我需要一些幫助。 我有一張表A(主)和一張表B(孩子)。 我正在使用DevExpress XAF。 我需要評估兒童在最後一排,並將其顯示在主表A.用戶devexpress從子列表中的最後一行獲取字段

比方說表,A具有followind領域: 的OID, 員工, 地址 [名] =持續申請員工

比方說表B具有以下字段: 的Oid, 員工(參考文獻的tbale A), 狀態(打開,分配,閉合), 狀態日期

子表具有至少2的錄音功DS爲每個主記錄: Oid的員工狀態狀態日期 1馬克打開2015年12月12日 2馬克分配二○一五年十二月一十三日 3標記關閉2015年12月29日

到目前爲止,我用這個:

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

我想在主表A中爲每個員工顯示子列表的最後一個狀態。 當我運行這段代碼時,我得到Open,因爲它與Closed不同,但我想要的是如果表B中的最後一行是Status = Closed,則應該返回Closed。 不知道我是否解釋了正確! 任何想法? 謝謝

回答

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)}; 
} 
相關問題