鉴于下面的代码(取自PrimeFaces ShowCase),更改功能以使第二列中的文本<h:outputText value="#{car.id}" />
- 充当扩展/收缩行(而不是<p:rowToggler>
图像)的链接的最佳方法是什么?
不确定这有多容易/应该有多容易,但我对 PrimeFaces 很陌生,不确定如何做到这一点。我查看了文档和PrimeFaces ShowCase),(并使用类似的代码玩了几个小时),但我一直无法完成。
展示代码:
<h:form>
<p:dataTable var="car" value="#{dtBasicView.cars}">
<f:facet name="header">
Expand rows to see detailed information
</f:facet>
<p:column style="width:16px">
<p:rowToggler />
</p:column>
<p:column headerText="Id">
<h:outputText value="#{car.id}" /> <!-- This text needs to be a link that expands the row -->
</p:column>
<p:column headerText="Year">
<h:outputText value="#{car.year}" />
</p:column>
<p:rowExpansion>
<p:panelGrid columns="2" columnClasses="label,value" style="width:300px">
<f:facet name="header">
<p:graphicImage name="demo/images/car/#{car.brand}-big.gif"/>
</f:facet>
<h:outputText value="Id:" />
<h:outputText value="#{car.id}" />
<h:outputText value="Year" />
<h:outputText value="#{car.year}" />
<h:outputText value="Color:" />
<h:outputText value="#{car.color}" style="color:#{car.color}"/>
<h:outputText value="Price" />
<h:outputText value="$#{car.price}" />
</p:panelGrid>
</p:rowExpansion>
</p:dataTable>
</h:form>
编辑- 找到了一个简单的解决方案,但不确定它是最优雅的。有什么理由不使用它?
<p:column style="display:none !important">
<p:rowToggler />
</p:column>
<p:column>
<h:outputLink value="#">#{car.id}</h:outputLink>
</p:column>`