0

まったく同じ列を持つ2つのデータテーブルを取得しました。唯一の違いは、1 つのデータテーブルがフィルター処理されたデータを取得したことです。現在、IF ステートメントを使用してデータテーブルを 1 つだけ表示しています。使用するリストがわかっている場合、何らかのIFステートメントを配置できる1つのデータテーブルのように使用できる短い方法はありませんか?

これらのデータテーブルをまとめる方法を知っている人はいますか?

これは私のコードの一部なので、私が何を意味するかをよりよく理解できるでしょう:

(ところで: 2 つのデータテーブルの唯一の違いは if ステートメントです)

<c:if test="#{destinationController.selectedCountry != null and destinationController.selectedDestination == null}">
     <h:dataTable value="#{destinationController.listTripsByCountry}" var="trip" rendered="#{destinationController.selectedCountry != null}">

         <h:column>
             <f:facet name="header">#{bundle.startdate}</f:facet>
                 <h:outputText value="#{trip.beginUur}">
                     <f:convertDateTime pattern="h:mm" />
                 </h:outputText>
                 <h:outputText value="#{trip.beginDatum}">
                     <f:convertDateTime pattern=" d MMM yyyy" />
                 </h:outputText>
        </h:column>

        <h:column>
            <f:facet name="header">#{bundle.enddate}</f:facet>
                <h:outputText value="#{trip.eindUur}">
                    <f:convertDateTime pattern="h:mm" />
                </h:outputText>
                <h:outputText value="#{trip.eindDatum}">
                    <f:convertDateTime pattern=" d MMM yyyy" />
                </h:outputText>
        </h:column>
    </h:dataTable>
</c:if>


<c:if test="#{destinationController.selectedCountry != null and destinationController.selectedDestination != null}">
    <h:dataTable value="#{destinationController.listTripsByDestination}" var="trip" rendered="#{destinationController.selectedCountry != null}"
                                 >

         <h:column>
             <f:facet name="header">#{bundle.startdate}</f:facet>
                 <h:outputText value="#{trip.beginUur}">
                     <f:convertDateTime pattern="h:mm" />
                 </h:outputText>
                 <h:outputText value="#{trip.beginDatum}">
                     <f:convertDateTime pattern=" d MMM yyyy" />
                 </h:outputText>
        </h:column>

        <h:column>
            <f:facet name="header">#{bundle.enddate}</f:facet>
                <h:outputText value="#{trip.eindUur}">
                    <f:convertDateTime pattern="h:mm" />
                </h:outputText>
                <h:outputText value="#{trip.eindDatum}">
                    <f:convertDateTime pattern=" d MMM yyyy" />
                </h:outputText>
        </h:column>
    </h:dataTable>
</c:if>
4

0 に答える 0