我有一个,情况:
在JSF
页面中,我有一些selectBooleanCheckbox
。我需要的是,当我检查其中一个时,其他一些是未经检查的。我正在努力在JasperReports
报告中添加或删除列,只是为了解释我为什么需要这样做。
有可能吗?如果是的话,我希望得到一些帮助,谢谢。
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但情况并非如此,我无法实现我所需要的。
答案 0 :(得分:3)
您应该向复选框添加<p:ajax
子项,这些复选框会影响您update
相应复选框受影响的其他人,并添加listener
方法,该方法会重置复选框的相应值在您的视图模型中受到影响。与
<!-- 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>
public void resetValue1() {
this.value1 = false;
}