我有以下结构要在我的页面中呈现:
<p:dataTable value="#{bean.persons}" var="person">
<p:subTable value="#{person.children}" var="child">
<f:facet name="header">
<h:outputText value="Person: #{person.name}" />
</f:facet>
<p:columnGroup type="header">
<p:row>
<p:column headerText="Name"/>
<p:column headerText="Years" />
<p:column headerText="Birth Date" />
</p:row>
</p:columnGroup
<p:column>
<h:outputText value="#{child.name}" />
<h:outputText value="#{child.years}" />
<h:outputText value="#{child.birthDate}" />
</p:column>
</p:subTable
</p:dataTable
我希望它像这样打印:
但不幸的是,即使我改变了宽度&#34;,&#34;样式&#34;或&#34; styleClass&#34; &#34; p:列&#34;中的属性标签,宽度始终通过子表中的行宽分布:
我该如何解决?无论如何,我能解决这个问题吗?
答案 0 :(得分:0)
将style / styleClass标记放在p:column
<p:columnGroup type="header">
中
使用Primefaces 5.3,Mojarra 2.2进行测试
<p:dataTable value="#{bean.persons}" var="person">
<p:subTable value="#{person.children}" var="child">
<f:facet name="header">
<h:outputText value="Person: #{person.name}" />
</f:facet>
<p:columnGroup type="header">
<p:row>
<p:column headerText="Name" style="width: 500px"/>
<p:column headerText="Years" />
<p:column headerText="Birth Date" />
</p:row>
</p:columnGroup
<p:column>
<h:outputText value="#{child.name}" />
</p:column>
<p:column>
<h:outputText value="#{child.years}" />
</p:column>
<p:column>
<h:outputText value="#{child.birthDate}" />
</p:column>
</p:subTable
</p:dataTable