1

我有一个 JSF 数据表

 <h:dataTable id="memberTable" value="#{bean.pList}" border="0" 
rowClasses="rowEven rowOdd" var="item">
<h:column rendered="#{item.isDisplay == Y}">
<h:outputText value="#{item.visitDate}" >
</h:outputText>
</h:column>
</datatable>

我有更多这样的列,这些列是根据条件呈现的,当条件为假并且我有边框 = 1;我看到显示空白单元格。我怎样才能只显示我想要的列并拥有其他列。渲染=假不显示空白单元格?

谢谢,赛。

4

1 回答 1

4

您不能根据特定行的条件呈现整个列。这在技术上毫无意义。您需要根据父 bean 的属性评估条件。

<h:dataTable value="#{bean.pList}" var="item">
    <h:column rendered="#{bean.display == 'Y'}">
        <h:outputText value="#{item.visitDate}" />
    </h:column>
</datatable>

public String getDisplay()方法移到后面的类#{bean}

请注意,我还修复了您的 EL 表达式中的其他一些错误。您不应该在属性名称前加上isorget并且应该引用字符串值。您还可以更好地使其成为布尔属性。

private boolean display;

public boolean isDisplay() {
    return display;
}

rendered="#{bean.display}"
于 2012-06-26T13:50:51.320 回答