【问题标题】:primefaces datatable show one button for entire columnprimefaces 数据表为整列显示一个按钮
【发布时间】:2015-01-04 09:52:50
【问题描述】:

我正在学习 primefaces,我想创建一个自定义数据表。我正在尝试为整个列创建一个只有一个 commandButton/commandLink 的列。 类似于以下内容:

------------------------------
ID | Name | Year | Attachment |
------------------------------
01 | abcd | 2014 |            |
------------------
02 | decf | 2014 |  -------   |
------------------  |Attach|
03 | desf | 2014 |  -------   |
------------------
04 | ffgt | 2014 |            |
------------------------------

像 columnGroup 一样,我们在 primefaces 中有行组。或者有没有更好的方法,请建议。

【问题讨论】:

    标签: jsf jsf-2 primefaces datatable


    【解决方案1】:

    这是 PrimeFaces <p:dataTable> 的已知限制,请参阅 issue 1316rowspancolspan 不适用于<p:dataTable> 的数据单元格,它们仅适用于<p:dataTable> 的页眉和页脚。我最近遇到了同样的问题,我使用 PrimeFaces 的解决方案是使用 <p:panelGrid>,然后使用 JSTL <c:forEarch> 循环遍历我的数据列表以构建 <p:panelGrid> 的 JSF 组件。示例:

    <p:panelGrid>
        <f:facet name="header">
            <p:row>
                <p:column>ID</p:column>
                <p:column>Name</p:column>
                <p:column>Attach</p:column>                            
             </p:row>
         </f:facet>
         <c:forEach items="#{myBean.data}" var="item" varStatus="index">  
             <p:row>
                 <p:column><h:outputText value="#{item.id}" /></p:column>
                 <p:column><h:outputText value="#{item.name}" /></p:column> 
                 <p:column rowspan="4" rendered="#{index.count == 1}">
                     <h:outputText value="Button" />                                
                 </p:column>                            
             </p:row>
         </c:forEach>
    </p:panelGrid>
    

    rowspan 需要与表中的项目数相匹配。

    另一种解决方案是使用支持此功能的不同 JSF 组件库,例如 RichFaces

    【讨论】:

    • #Mark:问题是我无法将行跨度设置为 4,因为数据表是动态的,它可能会根据搜索结果显示任意数量的行
    • 将列表的大小设置为 bean 中的变量,然后将其输出为行跨度 rowspan="#{myBean.sizeVariable}"
    【解决方案2】:

    将 p:columnGroup 与 rowspan 和 colspan 一起使用。以下链接可能对您有所帮助: http://www.primefaces.org/showcase/ui/data/datatable/subTable.xhtml

    【讨论】:

    • rowspancolspan 仅适用于 PrimeFaces &lt;p:dataTable&gt; 的页眉和页脚
    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    相关资源
    最近更新 更多