gpt4 book ai didi

java - 是否可以使用 jsf h :datatable 有多行

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:58:45 25 4
gpt4 key购买 nike

使用h:datatable我们可以如下显示数据

  1. 杰姆斯
  2. 汤姆
  3. children
  4. 哈利

但是我可以显示如下所示吗:

  1. 杰姆斯 2. 汤姆
  2. 克里斯 4. 哈里

拉加兹,阿比

最佳答案

您可以在模型中管理它。

例如,将列表拆分成对:

public class PairedList<T> extends AbstractList<Pair<T>> {
private final List<? extends T> data;
private final T defaultVal;

public PairedList(List<? extends T> data, T defaultVal) {
this.data = data;
this.defaultVal = defaultVal;
}

@Override public int size() {
return (data.size() / 2) + (data.size() % 2);
}

@Override public Pair<T> get(int index) {
int left = index * 2;
int right = left + 1;
return new Pair<T>(data.get(left), right >= data.size() ? defaultVal : data
.get(right));
}

@Override public boolean addAll(Collection<? extends Pair<T>> c) {
throw new UnsupportedOperationException();
}
}

对类:

public class Pair<T> {

private final T left;
private final T right;

public Pair(T left, T right) {
this.left = left;
this.right = right;
}

public T getRight() { return right; }
public T getLeft() { return left; }
}

公开列表的托管 bean:

public class TwoPerRowBean implements Serializable {
private final List<String> data = Arrays.asList("Jems", "tom", "chirs",
"harry", "Barry");

public List<Pair<String>> getPairedData() {
return new PairedList<String>(data, "-");
}
}

表格配置:

<h:dataTable value="#{twoPerRowBean.pairedData}" var="pair">
<h:column> <h:outputText value="#{pair.left}" /> </h:column>
<h:column> <h:outputText value="#{pair.right}" /> </h:column>
</h:dataTable>

关于java - 是否可以使用 jsf h :datatable 有多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1315357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com