java - 如何使用 JSF 和 Primefaces 在数据表中渲染一次面板网格?

标签 java jsf primefaces

我在该数据表的一列中有一个 primefaces 数据表和 2 个 panelgrid。第二个 panelgrid 工作正常,但我只需要渲染第一个 panelgrid 一次。我在下面添加了我的代码。如何为每个变量渲染第一个 panelgrid 一次?

<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>

最佳答案

分解您的问题并概括它。您的标题例如在两方面(或三方面)已经过于具体。

How to render a panelgrid one single time in datatable with JSF and Primefaces?

  • “panelgrid”可以更改为“组件”
  • “一次”可以改为“有条件”

而且“单一时间”不够具体,就像我试图在评论中说清楚一样。您实际上希望根据行号或索引来渲染(或不渲染)它。

所以更好的标题(和问题)应该是:

How do I render a component just in the first row in a p:datatable

但是...

为了有条件地渲染组件,您已经知道需要使用 rendered 属性。还有问题conditionally displaying JSF components已经存在。

如果您知道您需要行号或索引(在 JSF 或 p:datatable 中),您可以在搜索引擎中创建一个搜索,然后您会已找到Display p:dataTable Row Numbers这显示了 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>

所以概括、简化、rtfm...它总是有帮助...

关于java - 如何使用 JSF 和 Primefaces 在数据表中渲染一次面板网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54713637/

相关文章:

java - 如何使用 PowerMockito 模拟私有(private)静态方法?

java - Mac OS X 上的 Tomcat 6.0

java - 编译java变量错误

java - JSF : Passing data between 2 views

java - 在 datePicker 上选择日期的事件

java - 使用 runnable 强制关闭应用程序

jsf - 类型 'org.primefaces.model.TreeNode'没有类型参数

java - 如何在服务器启动期间启动特定的 spring bean

java - p :accordionPanel generates java. lang.NullPointerException

jsf - Spring 引导 + JSF。 View *.jsf 正常工作但 *.xhtml 不正常