2016-11-09 107 views
0

我有一個供應商表,列gst_invoice_type。該表有兩行,與值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顯示爲全額稅務發票和簡化發票?

+0

對不起,我不明白這一點。請詳細解釋你想要什麼或問題是什麼。 – irieill

+0

@irieill好的。我在MySQL中有'F'和'S'的值。有沒有辦法讓F顯示爲Full Tax Invoice和S顯示爲PrimeFaces數據表中的簡化發票? –

回答

0

只需插入兩個有條件呈現的<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 
    } 
} 
+0

謝謝,但如果我有100行的情況,並且一些列包含空白,您的答案是否會起作用? –

+0

@AI。當然它會起作用(更加努力地寫下不同情況下的代碼)。 – irieill

+0

謝謝,它的工作原理 –