【发布时间】:2021-04-07 00:08:36
【问题描述】:
我在将字符串显示为行的标题和字符串列表时遇到问题,它们是标题的属性。不幸的是,没有显示数据表。我想使用 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>
【问题讨论】:
-
#{data.key}不是必须是#{value.key},因为 p:columns 不确定是否可以引用外部数据变量? -
不,因为#{data.values} 是我的TableData 类中的List
,所以value 中没有key。
标签: java list jsf datatable primefaces