首页 > 解决方案 > 使用 Primefaces 数据表显示嵌套列表

问题描述

我在将字符串显示为行的标题和字符串列表时遇到问题,它们是标题的属性。不幸的是,没有显示数据表。我想使用 p:columns 稍后对我的数据进行排序和过滤。在 Primefaces DataTable 中显示嵌套列表的正确方法是什么?

我的豆子:

public class MyBean implements Serializable {

private List<TableData> tableData = new ArrayList<TableData>();

public void fillData(){
this.tableData.add(new TableData("Key1", valueList));
this.tableData.add(new TableData("Key2", valueList2));
this.tableData.add(new TableData("Key3", valueList3));
...
...
...
}
  public List<TableData> getTableData() {
    return tableData;
  }

  public void setTableData(List<TableData> tableData) {
    this.tableData = tableData;
  }
}

我的模型:

public class TableData {

  private String key;
  private List<String> values = new ArrayList<String>();

  public TableData(String key, List<String> values) {
    this.key = key;
    this.values = values;
  }

  public String getKey() {
    return key;

  }

  public void setKey(String key) {
    this.key = key;
  }

  public List<String> getValues() {
    return values;
  }

  public void setValues(List<String> values) {
    this.values = values;
  }

}

我的 .xhtml

<p:dataTable value="#{myBean.tableData}" var="data">
  <p:columns value="#{data.values}" var="value">
        <f:facet name="header">
            <h:outputText value="#{data.key}" />
        </f:facet>
        <h:outputText value="#{value}" />
  </p:columns> 
</p:dataTable>

标签: javalistjsfdatatableprimefaces

解决方案


帮助我解决了我的问题。我的问题是,我使用了错误的数据结构。


推荐阅读