我试图在下面的数据表中显示对象列表。但什么都没有出现。非常感谢您的帮助!
public class TimrsDisplayBean {
private static final long serialVersionUID = 1L;
private String teamName = "";
private String teamType = "";
private boolean reported;
private boolean noProd;
private boolean missing;
public String getTeamName() {
return teamName;
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
public String getTeamType() {
return teamType;
}
public void setTeamType(String teamType) {
this.teamType = teamType;
}
public boolean getReported() {
return reported;
}
public void setReported(boolean reported) {
this.reported = reported;
}
public boolean getNoProd() {
return noProd;
}
public void setNoProd(boolean noProd) {
this.noProd = noProd;
}
public boolean getMissing() {
return missing;
}
public void setMissing(boolean missing) {
this.missing = missing;
}
}
XHTML文件
<p:dataTable value="#{dashboardMBean.timrsDisplayDataList}" var="var" rowIndexVar="row"
styleClass="large-card-datatable alternatingRowTable no-border nowrap">
<f:facet name="header">
<span class="updateDate"> </span>
</f:facet>
<p:column headerText="Type" value=" #{dashboardMBean.timrsDisplayDataList[0]}" columnIndexVar="i">
#{var[i].teamType}
</p:column>
<p:column headerText="Type" value=" #{dashboardMBean.timrsDisplayDataList[0]}" columnIndexVar="i">
#{var[i].teamName}
</p:column>
如果可能,请支持完整的代码部分。您的datatable
标签甚至没有完成。
除此之外,你似乎做了太多的工作。你试着自己计算行索引了吗?不需要。基本的列定义更舒适。使用您定义的变量var
来命名每个元素/行,如Primefaces展示中所示:http://www.primefaces.org/showcase/ui/data/datatable/basic.xhtml
在你的情况下,它将是类似的东西
<p:column headerText="Type">
<h:outputText value="#{var.teamType}"/>
</p:column>
此外,正如Jasper De Vries正确地说的那样,没有一个属性叫做columnIndexVar
。移除它以防止出现奇怪的行为。
如果这还不够,您需要共享更多ManagedBean的代码。不确定您发布的java类是否代表您的Bean,但如果是,您需要将其声明为类似ManagedBean的
@ManagedBean(name = "timrsDisplayBean)
@SessionScoped
public class TimrsDisplayBean {
我希望这能有所帮助!