在primefaces的数据表中呈现查询结果中的数据

在primefaces的数据表中呈现查询结果中的数据,primefaces,datatable,Primefaces,Datatable,我有一个数据库表,其中包含一组人(审阅者)对一组问题的答案,这意味着我正在使用普通的select查询获取m*n(问题数量*人数)记录。现在我已经有了该实体(数据库表的实体类)对象的列表,我想在xhtml页面上以以下格式显示结果: 1.第一列显示了所有不同的问题。 2.列标题的其余部分是答复者的姓名。 3.Rest数据应该是特定评审员针对特定问题给出的答案 如何在primefaces中实现这一点?感谢您的帮助。提前感谢:)Primefaces可以使用处理动态列。查看DataTable->Dynam

我有一个数据库表,其中包含一组人(审阅者)对一组问题的答案,这意味着我正在使用普通的select查询获取m*n(问题数量*人数)记录。现在我已经有了该实体(数据库表的实体类)对象的列表,我想在xhtml页面上以以下格式显示结果: 1.第一列显示了所有不同的问题。 2.列标题的其余部分是答复者的姓名。 3.Rest数据应该是特定评审员针对特定问题给出的答案

如何在primefaces中实现这一点?感谢您的帮助。提前感谢:)

Primefaces
可以使用
处理动态列。查看DataTable->Dynamic Columns下的文档

你需要两件事:

  • 创建一个
    列表列
    ,内容如
    {“问题”、“彼得”、“托马斯”、“安德鲁”、…}
  • 创建一个
    列表答案
    ,其中
    字符串[]
    数组的大小将与您的回答者人数+1相同,并且将在索引0处包含问题文本,然后是您的用户答案:
    {“您的PIN码是什么?”、“1234”、“1122”、“2211”、…}
    。注意维护答案和用户顺序
  • 在JSF页面中,您的表将如下所示:

    <p:dataTable var="answer" value="#{fooBean.answers}">
       <p:columns var="columnName" value="#{fooBean.columns}" columnIndexVar="columnNumber">
          <f:facet name="header">
              <h:outputText value="#{columnName}" />
          </f:facet>
          <h:outputText value="#{answer[columnNumber]}" />
        </p:columns>
    </p:dataTable>
    
    
    
    谢谢你的邀请!!是的,我用过,但不知何故,我不能用它来实现我的东西。如果你能帮我解决问题,我将不胜感激。是的!!再次感谢你!实际上我已经解决了我的问题。但是您提供的方法看起来更有效,因此我们将尝试并实现它。