1

列を持つサプライヤーテーブルがありますgst_invoice_type。テーブルには 2 つの行があり、値は F と S です。

私の PrimeFaces dataTable では、Gst_Invoice_Type以下のコードのように、ドロップダウン メニュー フィルターを含む列を持つテーブルも作成しました。

<p:column filterBy="#{vo.gstInvoiceType}" headerText="GST Invoice Type." sortBy="#{vo.gstInvoiceType}"
                        style="width:130px;" visible="false">
                    <f:facet name="filter">
                        <p:selectOneMenu style="width:110px; vertical-align:middle;" autoWidth="false"
                        onchange="PF('varTable').filter()">
                            <f:selectItem itemLabel="ALL" itemValue="" noSelectionOption="true" />
                            <f:selectItem itemLabel="Full Tax Invoice" itemValue="F" />
                            <f:selectItem itemLabel="Simplified Invoice" itemValue="S" />
                        </p:selectOneMenu>
                    </f:facet>
                    <h:outputText value="#{vo.gstInvoiceType}"/>
                </p:column>

すべてを選択すると、すべてのデータ (F および S) が取得され、正しく機能する Gst_Invoice_Type に配置されます。しかし、FとSをFull Tax InvoiceとSimplified Invoiceとして表示させることは可能でしょうか?

4

1 に答える 1

3

値が異なる2 つの条件付きでレンダリングされた<h:outputText />要素を挿入するだけです。

<p:column>
  <h:outputText
    value="Full Tax Invoice"
    rendered="#{vo.gstInvoiceType eq 'F'}"
  />
  <h:outputText
    value="Simplified Invoice"
    rendered="#{vo.gstInvoiceType eq 'S'}"
  />
</p:column>

別のオプションは、次のような Bean メソッドでプログラムによってマッピングを行うことです。

<p:column>
  <h:outputText value="#{bean.map(vo.gstInvoiceType)}" />
</p:column>

public class Bean {
  public String map(String input) {
    // however you implement your mapping
  }
}
于 2016-11-09T07:00:08.207 に答える