![](/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.