“即使在向dataTable添加rowKey值之后,”DataModel必须在启用选择时实现org.primefaces.model.SelectableDataModel“

时间:2014-10-16 18:03:47

标签: jsf-2 primefaces datatable

根据以下问题的接受答案: FacesException: DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled需要实现SelectableDataModel或将rowKey属性添加到dataTable以避免该异常。无论如何我只是添加了rowKey属性,你可以看到并且错误仍在发生,希望有人能告诉我原因。

这是我的dataTable:

<p:dataTable var="item" rowKey="#{item.id}" style="margin-top:5px" emptyMessage="Nenhum registro encontrado"
            value="#{controller.entidade.ecfs}" rows="10"  selectionMode="single"
            paginator="#{ecfController.showPaginator()}" paginatorPosition="bottom">

            <p:column headerText="Nº Série">
                <p:outputLabel value="#{item.numeroSerie}"/>
            </p:column>

            <p:column headerText="Modulo">
                <p:outputLabel value="#{item.modulo}"/>
            </p:column>

            <p:column headerText="Modelo">
                <p:outputLabel value="#{item.modelo}"/>
            </p:column>

            <p:column headerText="GT Inicial">
                <p:outputLabel value="#{item.gtInicial}"/>
            </p:column>

</p:dataTable>

1 个答案:

答案 0 :(得分:1)

我发现使用rowKey属性你必须确保基于rowKey的单一性,另一点是如果你尝试插入一个rowKey属性为null的新对象,它也不会工作。