如何訪問openxava中另一個實體的一個部分內的集合實體的details元素?例如,在實體A的視圖中,我們有{S1,S2,S3}部分,在部分S3視圖中,我們有{實體B}的集合。現在我想訪問實體B的細節元素,以便我可以將元素填充到操作控制器中。我怎麼做?在openxava中訪問section中的集合的詳細元素
0
A
回答
0
你可以用幾種方法做到這一點。在這裏,你有一個,我有一些參考,我想從基礎模塊稱爲操作的內部修改使用它(這應該與你的收集工作):
Query q = XPersistence.getManager().createQuery("JPQL QUERY TO RETRIVE THE COLLECTION WITH :parameterIfNeeded");
q.setParameter("parameterIfNeeded", "value");
List entityBList = q.getResultList();
if (getView().getModelName().equalsIgnoreCase("yourBaseModelViewName")) {
getView().getSubview("yourSubViewName").setModel(entityBList);
getView().getSubview("yourSubViewName").refresh();
}
你必須要使用OX 4.6能夠使用setModel()。請記住,「yourSubViewName」是您集合到基礎模型中的屬性的名稱。
我還沒有測試集合的代碼,所以根據您的需要進行調整,也許您需要CAST查詢結果列表或其他東西。
問候,
0
直接從視圖中獲取集合,以這樣的方式
Collection myCollection = getView().getSubview("myCollection").getCollectionObjects();
它必須與最古老的OpenXava版本
0
即使工作獲得實體相關聯的觀點,並得到從它收集。如果您使用以前的4.3牛做這樣
MyEntity myEntity = (MyEntity) getView().getEntity();
Collection myCollection = myEntity.getMyCollection();
:
Map keyValues = getView().getKeyValuesWithValue();
if (!keyValues.isEmpty()) {
MyEntity myEntity = (MyEntity)
MapFacade.findEntity(getView().getModelName(), keyValues);
Collection myCollection = myEntity.getMyCollection();
}
相關問題
- 1. 訪問集合中的元素?
- 2. 如何修復Openxava 3.1中的集合添加元素錯誤
- 3. 在Backbone.js中爲集合中的一個元素創建詳細信息頁面
- 4. 訪問C++中的集合中的pair元素
- 5. 結合不同詳細程度的集合體中的R
- 6. 如何訪問meteor.js中的集合元素?
- 7. 訪問集合中的第一個元素
- 8. 什麼是從集合中訪問元素的最快方式?
- 9. 如何使用等效對象訪問集合中的元素?
- 10. 訪問raphael js中的集合集合
- 11. v1.0元素中的聚合物元素訪問屬性
- 12. 在詳細元素中打開關閉元素之間的過渡
- 13. Aadhar卡的詳細信息訪問
- 14. 網站訪問者的詳細信息
- 15. 訪問JSON對象的詳細信息
- 16. 訪問SIM卡的詳細信息
- 17. 訪問mulimap中的元素
- 18. 訪問coo_matrix中的元素
- 19. 訪問IBOutletCollection中的元素
- 20. Selenium中的訪問元素
- 21. 訪問treeset中的元素
- 22. 在Karate中訪問內置請求的詳細信息
- 23. 如何在iPhone中訪問EKCalendar帳戶的詳細信息
- 24. 如何在instagram中訪問用戶詳細信息的「ID」
- 25. 在Javascript中訪問數組的集合
- 26. BackBone.JS顯示集合中項目的詳細信息視圖
- 27. 詳細數據訪問與多個Xib詳細
- 28. 以數據庫爲源的詳細信息獲取詳細元素的數量
- 29. 在集合中選擇元素Clojure中
- 30. 集合元素的組合
感謝您的快速answer.Since IM由於OpenXava中4.3你可以做這樣使用openxava 3.1,當我嘗試下面的代碼:getView()。getSubview();即時通訊錯誤,我沒有一個子視圖。任何想法???那麼你的代碼如何工作? getView()getSubview( 「entityB_view」)則setModel(enityBlist)。; – user1943998
我從OX版本4.x開始,所以我不知道getView()。getSubview()在舊版本中是否可用。那麼,當你寫下:「我得到錯誤,我沒有子視圖」時,你是什麼意思?......你的意思是.Subview()方法不適用於View類嗎? ...或者你的意思是說你有一個錯誤,說:你試圖訪問的子視圖沒有找到?,如果你的錯誤是我提到的最後一個錯誤,那麼也許是因爲你寫的子視圖的名稱(entityB_view)可能是作爲基本視圖一部分的子部分的名稱,而不是集合的屬性名稱 – HayrolR
因此,請嘗試將「entityB_view」更改爲表示您的基類模型(基本實體)中的集合的屬性的名稱,那是我之前試圖解釋的。我幾乎可以肯定,「entityB_view」不是您的基本實體類(基本模型)中的一個屬性。 – HayrolR