2016-11-03 25 views
2

我有一個,情況: 在JSF頁我有一些selectBooleanCheckbox。我需要的是,當我檢查其中一個時,其他一些未被檢查。我正在處理這個問題,以便從JasperReports報告中添加或刪除列,只是爲了解釋爲什麼我需要這項工作。檢查或取消選擇selectBooleanCheckBox通過檢查另一個

可能嗎?如果是的話,我想獲得一些幫助來實現這一點,謝謝。

XHTML:

    <h:selectBooleanCheckbox value="#{simpleReport.colunaId}" /> 
        <h:outputText escape="false" value="Cód." /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaCliente}" /> 
        <h:outputText escape="false" value="Cliente" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaCondutor}" /> 
        <h:outputText escape="false" value="Condutor" /> 
        <h:selectBooleanCheckbox 
         value="#{simpleReport.colunaCondicaoTempo}" /> 
        <h:outputText escape="false" value="Cond. Tempo" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaOcorrencia}" /> 
        <h:outputText escape="false" value="Ocorrência" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaStatus}" /> 
        <h:outputText escape="false" value="Status" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaPeriodo}" /> 
        <h:outputText escape="false" value="Período" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaSoma}" /> 
        <h:outputText escape="false" value="Soma" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.colunaQtdCli}" /> 
        <h:outputText escape="false" value="QtdCli" /> 
        <h:selectBooleanCheckbox value="#{simpleReport.groupByCLiente}" /> 
        <h:outputText escape="false" value="Group" /> 

boolean colunaId = false, colunaCliente = false, colunaCondutor = false, colunaPeriodo = false, 
     colunaCondicaoTempo = false, colunaStatus = false, colunaOcorrencia = false, colunaSoma = false, 
     colunaQtdCond = false, colunaQtdCli = false; 

boolean groupByCLiente = false, groupByCondutor = false; 

我發現這個職位:Single Select Checkbox Using JSF但它不是非常相同的情況下,我無法實現我需要什麼呢。

例如,如果我檢查「組」,它應該取消選中「Ocorrencia」和「狀態」。 enter image description here

+0

有你爲什麼標記'primefaces'的問題,但只使用普通的JSF標籤,原因是什麼?如果您正在使用PrimeFaces,您可以使用其客戶端API,基本上只需通過JavaScript檢查/取消選中複選框 – stg

+0

我相信這只是我在標籤上的錯誤。 – Rodrigo

回答

2

您應該添加<p:ajax孩子誰應該影響別人,你update受到影響相應的複選框,並添加listener方法,該方法重置複選框的各個值在您的視圖模型受到影響的複選框。類似

page.xhtml

<!-- Should be reset if "2" is selected --> 
<p:selectBooleanCheckbox id="1" value="#{view.value1}"/> 

<p:selectBooleanCheckbox id="2" value="#{view.value2}"> 
    <p:ajax update="1" listener="#{view.resetValue1}"/> 
</p:selectBooleanCheckbox> 

View.java

public void resetValue1() { 
    this.value1 = false; 
} 
+0

感謝您的回答,我會盡力讓它在這裏工作。 – Rodrigo

+0

它的工作,但是,我怎麼能定義多個'selectBooleanCheckbox'to基於selectedone更新?喜歡(如果我可以,但我相信我不能) Rodrigo

+0

使用空格作爲分隔符:' Smutje

相關問題