Java 如何使用JSF和Primefaces在datatable中一次性呈现panelgrid?
我在这个数据表的一列中有一个primefaces数据表和两个panelgrid。第二个panelgrid工作正常,但我只需要渲染第一个panelgrid一次。我在下面添加了我的代码。如何为每个变量渲染第一个panelgrid一次Java 如何使用JSF和Primefaces在datatable中一次性呈现panelgrid?,java,jsf,primefaces,Java,Jsf,Primefaces,我在这个数据表的一列中有一个primefaces数据表和两个panelgrid。第二个panelgrid工作正常,但我只需要渲染第一个panelgrid一次。我在下面添加了我的代码。如何为每个变量渲染第一个panelgrid一次 <p:dataTable value="#{bean.list}" var="var"> <p:column style="width: 60px;" groupRow="true"> <!--data-->
<p:dataTable value="#{bean.list}" var="var">
<p:column style="width: 60px;" groupRow="true">
<!--data-->
</p:column>
<p:column>
<p:panelGrid columns="4">
<!--data-->
</p:panelGrid>
<p:panelGrid columns="4" rendered="#{!rendered}">
<!--data-->
</p:panelGrid>
</p:column>
</p:dataTable>
分解你的问题,并将其概括化。你的头衔已经有两个(或三个)太具体了 如何使用JSF和Primefaces在datatable中一次性呈现panelgrid
- “panelgrid”可以更改为“组件”
- “一次”可以更改为“有条件”
rendered
属性。而对于这些问题已经存在
如果您知道您需要某种行号或索引(在JSF或p:datatable
中),那么您可以在搜索引擎中为其创建一个搜索,并找到显示rowIndexVar
属性存在的内容。除此之外,或者更确切地说,在此之前,仅在IDE中使用代码完成或使用PrimeFaces文档就可以指示是否存在rowIndexVar
属性
将所有这些结合起来不会太困难,并将为您提供以下工作代码:
<p:dataTable value="#{bean.list}" var="var" rowIndexVar="index">
<p:column style="width: 60px;" groupRow="true">
<!--data-->
</p:column>
<p:column>
<p:panelGrid columns="4" rendered="#{index == 0}>
<!--data-->
</p:panelGrid>
<p:panelGrid columns="4" rendered="#{!rendered}">
<!--data-->
</p:panelGrid>
</p:column>
</p:dataTable>
一次?意思是只有一行?@Kukeltje,是的。没错。使用这个:并在呈现属性中使用indexvar