繁体   English   中英

有没有办法更新PrimeFaces数据表而不更新表头?

[英]Is there any way to update PrimeFaces data table without updating the table headers?

这是一个笨拙的问题! :)

这可能以某种方式成为可能吗? 是否可以更新<p:dataTable> (无论是延迟加载还是其他方式)而不更新其标题(表格中的内容(行)以及页脚应该更新而不更新表格标题)?

更新<p:dataTable>可能由任何UICommand触发,如<p:commandButton><p:commandLink>等。

当我们使用<p:cellEditor><p:dataTable> <p:rowEditor/> 编辑/更新行时,可以看到类似这样的东西(不确定单细胞编辑)。

<p:dataTable id="dataTable" var="row" value="#{bean}" ...>
    <p:column headerText="Header 1" sortBy="#{row.property1}" filterBy="#{row.property1}">
        ....
    </p:column>
    <p:column>
        <!--They may be our own headers-->
        <f:facet name="header">
            Header 2
            ...
        </f:facet>
        ....
    </p:column>
    ...
</p:dataTable>

最简单的方法是使用PrimeFaces选择器(PFS) 这只需要将所需的单元格内容包装在具有ID 样式类的另一个组件中 - 这样jQuery就可以找到并收集它们。

例如

<p:dataTable ...>
    <p:column>
        <f:facet name="header">...</f:facet>
        <h:panelGroup id="col1" styleClass="cell">...</h:panelGroup>
    </p:column> 
    <p:column>
        <f:facet name="header">...</f:facet>
        <h:panelGroup id="col2" styleClass="cell">...</h:panelGroup>
    </p:column> 
    <p:column>
        <f:facet name="header">...</f:facet>
        <h:panelGroup id="col3" styleClass="cell">...</h:panelGroup>
    </p:column> 
    ...
</p:dataTable>
<p:commandButton value="update" update="@(.cell)" />

包装是笨拙的,是的,但是如果没有自制的自定义渲染器,你可以获得最好的效果。 您始终可以创建<my:column>标记文件以减少样板。

也可以看看:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM