【问题标题】:"DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled" even after adding rowKey value to dataTable“启用选择时,DataModel 必须实现 org.primefaces.model.SelectableDataModel”即使将 rowKey 值添加到 dataTable
【发布时间】:2014-12-12 05:01:27
【问题描述】:

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

这是我的数据表:

<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>

【问题讨论】:

    标签: jsf-2 primefaces datatable


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 1970-01-01
      • 2016-01-03
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多