<h:selectmanycheckbox and <a4j:support issues
craig12980 Jul 13, 2010 11:55 AMHi
This is my environment:
- Spring 3
- Richfaces 3.3.3
- JVM 1.6
- Apache tomcat 6.0.26
What i'ld love to do is a search, display the search resulta in an extended datatable where i'll show to the user 3 columns. The last columns is a checkbox and the user can choose one or more elements.
This is what i did:
search.xhtml:
<!-- Sezione Elenco --> <h:panelGroup id="out" columns="4"> <!-- rich:panel id="panelRisultati" rendered="#{not empty engageRicercaReferenzeController.cmdRicerca.listaSchedeProgetti}"> --> <rich:panel id="panelRisultati" rendered="#{engageRicercaReferenzeController.numAnn>0}"> <a4j:form id="thisFormRicLista"> <rich:extendedDataTable value="#{engageRicercaReferenzeController.dataModel}" var="lista" id="table" width="800px" height="350px" sortMode="#{engageRicercaReferenzeController.sortMode}" noDataLabel="#{msg.nessunRisultato}" selectionMode="#{engageRicercaReferenzeController.selectionMode}" tableState="#{engageRicercaReferenzeController.tableState}" selection="#{engageRicercaReferenzeController.selection}" rows="#{engageRicercaReferenzeController.numeroRecordPerPagina}" styleClass="noBorderTable" rowKeyVar="row"> <f:facet name="header"> <h:outputText value="#{msg.elencoRicerca}" /> </f:facet> <rich:column width="350px" id="titolo" sortable="false"> <f:facet name="header"> <h:outputText value="#{msg.titolo}" /> </f:facet> <a4j:commandLink id="detaillink" oncomplete="javascript:Richfaces.showModalPanel('dettaglioPrg',{width:600,height:500})" action="#{engageDettaglioReferenzeController.detailRefPrg}" reRender="dettaglioPrg"> > <f:param name="idRefPrg" value="#{lista.id}" /> <h:outputText value="#{lista.titoloProgetto}" />> </a4j:commandLink> <rich:toolTip for="detaillink" direction="top-left" value="Dettaglio Progetto" /> </rich:column> <rich:column width="300px"> <f:facet name="header"> <h:outputText value="#{msg.contattoInterno}" /> </f:facet> <h:outputText value="#{lista.contattoInterno}" /> </rich:column> <rich:column width="100px"> <f:facet name="header"> <h:outputText value="#{msg.dataInizio}" /> </f:facet> <h:outputText value="#{lista.dataInizio}"> <f:convertDateTime dateStyle="short" timeZone="Europe/Berlin" pattern="dd/MM/yyyy" type="both" /> </h:outputText> </rich:column> <rich:column width="100px"> <h:selectManyCheckbox id="checkboxschede" value="#{engageRicercaReferenzeController.cmdRicerca.schedeProgettoSelezionate}"> <a4j:support ajaxSingle="true" event="onchange" actionListener="#{engageRicercaReferenzeController.checkboxListener}" /> <f:selectItem itemValue="#{lista.id}"/> </h:selectManyCheckbox> </rich:column> </rich:extendedDataTable> <rich:datascroller align="left" for="table" id="sc2" immediate="true" page="#{engageRicercaReferenzeController.scrollerPage}" /> <h:panelGrid columns="3" title="Download report" id="reportDownload"> <f:facet name="header"> <h:outputText value="Scarica"/> </f:facet> <a4j:htmlCommandLink action="#{engageRicercaReferenzeController.downloadFile}"> <f:param name="tipoFile" value="pdf" /> <h:outputText value="Download in formato pdf" /> </a4j:htmlCommandLink > <a4j:htmlCommandLink action="#{engageReportRicerca.downloadFile}"> <f:param name="tipoFile" value="xls" /> <h:outputText value="Download in formato excel" /> </a4j:htmlCommandLink > <a4j:htmlCommandLink action="#{engageReportRicerca.downloadFile}"> <f:param name="tipoFile" value="rtf" /> <h:outputText value="Download in formato rtf" /> </a4j:htmlCommandLink > </h:panelGrid> </a4j:form> </rich:panel> </h:panelGroup>
Well the query is executed correctly; the table is shown correctly and the checkbox too.
The variable "lista" is an object taken from the database; this object has some properties between them there is the id property that is a long (primitive object). Well when i select a checkbox i get this error:
13-lug-2010 17.32.21 com.sun.faces.lifecycle.RenderResponsePhase execute INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. sourceId=thisFormRicLista:table:1:checkboxschede[severity=(ERROR 2), summary=(thisFormRicLista:table:1:checkboxschede: Validation Error: Value is not valid), detail=(thisFormRicLista:table:1:checkboxschede: Validation Error: Value is not valid)]
When i deselect the checkbox no message is shown.
Do you have any suggestion on how i can solve this issue?
Regards,
Angelo.