我试图在我的原始DataTable中嵌套一个ui:repeat或另一个DataTable,这样我就可以显示另一个列表。
所以原始的DataTable使用了一个列表,而嵌套的ui:repeat正在使用另一个列表,但是ui:repeat并不是在迭代它,而是只显示每个DataTable行的整个列表。 / p>
这里是嵌套的ui:重复我目前
<h:column>
<ui:repeat value="#{readingBean.list}" var="amount">
#{amount}
</ui:repeat>
<f:facet name="header">Amount Used</f:facet>
</h:column>
这是我获取用于填充原始DataTable
的数据的地方public List<Reading> getReadingData() {
List<Reading> readingByMeter = (em.createNamedQuery("Reading.findByMeter").setParameter("meter",name)).getResultList();
return readingByMeter;
}
这是我希望嵌套在
中的第二个列表public List<Double> getList() {
List<Reading> readingData = (em.createNamedQuery("Reading.findByMeter").setParameter("meter",name)).getResultList();
List<Double> list = new ArrayList<Double>();
for (int i = 1; i < readingData.size(); i++)
{
list.add((readingData.get(i).getReading().doubleValue() - readingData.get(i - 1).getReading().doubleValue()) / 50);
}
return list;
}
因此,对于第二个列表,我通过第一个元素减去原始列表中的第二个元素然后除以50来计算一个量。所以它将是(1 - (1 -1))/ 50然后(2 - (2 - 1))/ 50等等。取下一个元素并用前一个元素减去它。
这就是目前在DataTable中使用ui:repeat的样子
DataTable Display Current - 但我希望它被列为
2050 | 43.0
4200 | 38.0
等等
所以我的问题是如何在原始数据表的列中显示我的第二个列表,使其如上所示。我搜索了很多,无法找到任何解决方案,所以任何帮助都表示赞赏。如果您还需要更多信息,请告知我们