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>

条件がfalseの場合、およびborder = 1;の場合、条件に基づいてレンダリングされる列がさらにあります。空白のセルが表示されていることがわかります。必要な列のみを表示し、他の列を表示するにはどうすればよいですか。render=false 空白のセルを表示しませんか?

ありがとう、サイ。

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 に答える