【问题标题】:Primefaces table with editable rows generateds duplicate gridcells具有可编辑行的 Primefaces 表生成重复的网格单元
【发布时间】:2018-05-11 08:34:03
【问题描述】:

使用 PF 6.1,我有一个 Primefaces 数据表,我需要在其中使某些单元格可编辑。大多数事情都工作正常,但是当刷新页面时,会为每个单元格插入一个重复的空元素,如果我编辑一行(即使我取消编辑),这些元素也会消失。如果我通常有 5 列,我会看到 5 列带有类 ui-editable-column 和正确的内容,但是当我刷新页面时,我看到另外 5 个带有类 ui-panelgrid-cell 包含数据,而原来的 5 个带有类ui-editable-column 为空并导致表格未对齐。

  <p:panel>
        <h:form>
            <p:dataTable id="myTable" editable="true"
                         var="var"
                         value="#{ManagementBean.values}"
                         paginator="true"
                         paginatorPosition="top" rows="25"
                         paginatorTemplate="..."
                         tableStyle="table-layout: auto">

                <p:ajax event="rowEdit" listener="#{ManagementBean.onRowEdit}" update="myTable"/>
                <p:ajax event="rowEditCancel" listener="#{ManagementBean.onRowCancel}" update="myTable"/>

                <!-- cells that dont need to be edited, have duplicate input and output fields-->
                <p:column headerText="..." sortBy="...">
                    <p:cellEditor>
                        <f:facet name="output"><h:outputText value="#{var.name}"/></f:facet>
                        <f:facet name="input"><h:outputText value="#{var.name}"/></f:facet>
                    </p:cellEditor>
                </p:column>

                <!-- Example of cell that gets edited -->
                <p:column headerText="...">
                    <p:cellEditor>
                       <f:facet name="output">
                            <h:outputText value="..."/>
                        </f:facet>
                        <f:facet name="input">
                            <p:selectCheckboxMenu label="..." value="...">
                                <f:selectItems value="..." var="..."
                                               itemLabel="..." itemValue="..."/>
                            </p:selectCheckboxMenu>
                        </f:facet>
                    </p:cellEditor>
                </p:column>
            </p:dataTable>
        </h:form>
    </p:panel>
</p:panelGrid>

【问题讨论】:

  • 确定没有嵌套表单?
  • 并尝试了 PF 6.1
  • 使用 pf 6.1。我确保没有嵌套表单。
  • 切换回 primefaces v 5.3.11 似乎已经解决了这个问题。
  • 切换到 6.2 快照还是 6.1 精英版?

标签: jsf primefaces jsf-2


【解决方案1】:

不确定这是否与 OP 面临的问题有关,但我也遇到了重复的单元格,我通过更改来修复它:

<p:panelGrid></p:panelGrid> 

<h:panelGrid></h:panelGrid> 

这解决了我的重复问题。

我的视图页面示例如下所示:

<h:panelGrid>
    <p:column>
        <p:row>
            <!-- contents... -->
        </p:row>
    </p:column>
</h:panelGrid>

可能对未来的读者有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2013-05-16
    • 1970-01-01
    • 2014-01-20
    • 2014-03-08
    相关资源
    最近更新 更多