![](/img/trans.png)
[英]DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled or you need to define rowKey attribute
[英]DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled, but I have already defined rowKey
我有一個可選的PrimeFaces 3.4.1數據表:
<p:dataTable value="#{projectAdminisrationMB.selectedUserMemberOfGroups}" var="group1"
rowKey="#{group1.name}" selectionMode="single" selection="#{projectAdminisrationMB.selectedBelongToGroup}">
...
</p:dataTable>
我收到這個錯誤:
com.sun.faces.context.PartialViewContextImpl $ PhaseAwareVisitCallback訪問Grave:javax.faces.FacesException:當啟用選擇時,DataModel必須實現org.primefaces.model.SelectableDataModel。
但是我已經根據rowKey
設置了rowKey
:當啟用選擇時,DataModel必須實現org.primefaces.model.SelectableDataModel 。 這是怎么造成的,我該如何解決?
當rowKey
屬性中的EL表達式計算null
時,可能會發生這種情況。
確保Group
實例的name
屬性永遠不為 null
。 否則,最好使用表示自動生成的DB主鍵的屬性,例如#{group1.id}
- 如果有的話。
僅供參考 - 使用Primefaces列過濾器時遇到了同樣的錯誤。 如果我使用過濾器並單擊刷新按鈕來重新加載表,那么我會遇到錯誤。 如果我不使用列過濾器,那么當我刷新表時,錯誤永遠不會發生。 我有幾個列過濾器,通過提取名字或姓氏,在包含全名的同一字段上執行過濾器邏輯,所以我懷疑這個問題與這些過濾器有關。 我還沒有弄清楚這個問題,但我想與你分享這個問題,以防萬一。 我正在使用rowKey。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.