3 Replies Latest reply on Oct 15, 2010 5:49 AM by renegritsch

    modalpanel "in" modalpanel showing data problem

    renegritsch

      Hello,

       

      i´ve a modalpanel opened from another modalpanel. While opening we call an action to fill up a list.

      The list is filled up and stored in a conversation bean. The getter gets called and the filled list is returned

      in the rendering phase ... but in the gui its empty.

      Also if i only use an outputtext its always emptym, but the getter returns something ?!? This was working before already. i´ve spent already 2 days...

       

      if i reload the full page in the browser everything is working fine... i´m really confused.

      What could be a possible problem for this?

       

      thnx rené

       

      we´re using the latest final seam and richfaces releases

        • 1. Re: modalpanel "in" modalpanel showing data problem
          ilya_shaikovsky

          please show the code.

          • 2. Re: modalpanel "in" modalpanel showing data problem
            renegritsch

            First Modal Panel

            {code:xml}<?xml version="1.0" encoding="UTF-8" standalone="no"?>
            <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:a4j="http://richfaces.org/a4j" xmlns:f="http://java.sun.com/jsf/core" xmlns:fipos="http://enhancements.fipos/jsf" xmlns:h="http://java.sun.com/jsf/html" xmlns:rich="http://richfaces.org/rich" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns:ui="http://java.sun.com/jsf/facelets">

                             <TABLE align="center" cellspacing="1" border="0" style="table-layout:fixed" width="100%">
                               <COLGROUP>
                                       <COL width="45%"/>
                                       <COL width="10%"/>
                                    <COL width="45%"/>
                               </COLGROUP>
                               <THEAD>
                                       <TR>
                                           <TD valign="top">
                                               <a4j:jsFunction name="selectEntry" action="#{partyTurntableButtonController.overtakePartyFromPreviousPartiesToCurrentParties}" reRender="panelPartnerTurntable"/>
                                              
                                            <rich:extendedDataTable
                                                id="idPartyDataListPrevious"           
                                                width="100%"               
                                                height="140px"
                                                sortMode="single"    
                                                selectionMode="single"       
                                                ajaxRendered="true"
                                                value="#{model.previousUsedParties}"
                                                selection="#{turntableExtendedDatatableBinding.selectionPreviousParties}"
                                                rows="10"           
                                                var="row">
                                                       
                                                <a4j:support ajaxSingle="true" limitToList="true" immmediate="true" event="onclick" bypassUpdates="true" reRender="buttonOvertakePreviousParties"/>
                                                <a4j:support ajaxSingle="true" limitToList="true" immmediate="true" event="onRowDblClick" bypassUpdates="true" oncomplete="selectEntry();" />
                                                       
                                                <rich:column headerClass="dataTableHeader" width="100%" label="Beschreibung" sortable="false" sortBy="#{row.preview}">
                                                    <rich:dragSupport dragIndicator=":indicator" dragType="party" dragValue="#{row}" acceptedTypes="party">
                                                        <rich:dndParam name="label" value="#{row.preview}" />
                                                    </rich:dragSupport>
                                                    <f:facet name="header">
                                                        <h:outputText value="zuletzt verwendete Partner" />
                                                    </f:facet>
                                                    <h:outputText value="#{row.preview}" />
                                                </rich:column>
                                           </rich:extendedDataTable>
                                           <rich:spacer height="10px"/>
                                           <rich:extendedDataTable
                                                id="idPartyDataListRelation"           
                                                width="100%"               
                                                height="140px"
                                                sortMode="single"    
                                                selectionMode="single"       
                                                ajaxRendered="true"
                                                value="#{model.partiesInRelation}"
                                                rows="10"           
                                                var="row">
                                                       
                                                <a4j:support ajaxSingle="true" limitToList="true" immmediate="true" bypassUpdates="true" event="onclick"  reRender="buttonOvertakePreviousParties"/>
                                                <a4j:support ajaxSingle="true" limitToList="true" immmediate="true" bypassUpdates="true" event="onRowDblClick" oncomplete="selectEntry();" />
                                                       
                                                <rich:column headerClass="dataTableHeader" width="100%" label="Beschreibung" sortable="false" sortBy="#{row.preview}">
                                                    <f:facet name="header">
                                                        <h:outputText value="in Beziehung stehende Partner" />
                                                    </f:facet>
                                                    <h:outputText value="#{row.preview}" />
                                                </rich:column>
                                           </rich:extendedDataTable>
                                           </TD>
                                           <TD valign="middle" align="center">
                                               <a4j:commandButton
                                                   id="buttonOvertakePreviousParties"
                                                   disabled="#{model.selectedPreviousParties == null || model.selectedPreviousParties.size == 0}"
                                                   reRender="panelPartnerTurntable"
                                                   limitToList="true"
                                                   ajaxSingle="true"
                                                   immediate="true"
                                                   action="#{partyTurntableButtonController.overtakePartyFromPreviousPartiesToCurrentParties}"
                                                   value="&gt;&gt;"
                                                   style="max-width:100px; width:100%; min-width:28px;"
                                                   />
                                                   <rich:spacer height="30px"/>
                                           </TD>
                                           <TD valign="top">
                                                   <a4j:outputPanel id="idSelectedParty" ajaxRendered="true">
                                                       <table style="width:100%;">
                                                        <tr>
                                                            <td valign="top">
                                                                  <fipos:include model="#{model.selectedPartyDisabled}" page="/gui/party/turntable/partyPreview.xhtml"/>
                                                              </td>
                                                          </tr>
                                                          <tr>
                                                            <td align="right">
                                                                <fipos:include model="#{model}" page="/gui/party/turntable/fastPartyNewEdit.xhtml"/>
                                                            </td>
                                                        </tr>
                                                    </table>
                                                    <rich:dropSupport
                                                        acceptedTypes="party"
                                                        dropListener="#{partyTurntableButtonController.dropPartyToCurrent}"
                                                        reRender="panelPartnerTurntable"
                                                        ajaxSingle="true"
                                                        limitToList="true"
                                                        />
                                                   </a4j:outputPanel>
                                          </TD>
                                       </TR>
                                       <TR><TD colspan="3"><rich:spacer height="10px"/><rich:separator/><rich:spacer height="10px"/></TD></TR>
                                       <TR>
                                           <TD valign="top">
                                               <fipos:include model="#{model}" page="/gui/party/turntable/fastPartySearch.xhtml"/>
                                           </TD>
                                       </TR>                                 
                               </THEAD>
                            </TABLE>
            </ui:composition>
            {code}

             

            fastPartySearch.xhtml

             

            {code:xml}

            <t:fieldset legend="Schnellsuche">
                     <table align="left" cellspacing="1" style="table-layout:fixed" width="100%">
                            <tr align="top" valign="top">
                                <td align="left" rowspan="1" valign="top">
                                    <fipos:smartField binding="#{model.searchSureName}" guiProperties="#{model.guiProps.searchSureName}" id="fastPartySearchSureName" label="Nachname"/>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" rowspan="1" valign="top">
                                    <fipos:smartField binding="#{model.searchFirstName}" guiProperties="#{model.guiProps.searchFirstName}" id="fastPartySearchFirstName" label="Vorname"/>
                                </td>
                             </tr>
                             <tr align="left">
                                <td valign="bottom">
                                        <a4j:commandButton
                                            style="width:150px"
                                            immediate="true"
                                            ajaxSingle="true"
                                            action="#{partyTurntableButtonController.fastSearchForParty}"
                                            reRender="modalContentPartnerSearch,fastpartyDataList"
                                            limitToList="true"
                                            oncomplete="Richfaces.showModalPanel('panelPartnerSearch');"
                                            status="waitStatus"
                                            value="Suchen">
                                           </a4j:commandButton>
                                </td>
                            </tr>
                      </table>             
                 </t:fieldset>

            {code}

             

             

            2nd modal panel panelPartnerSearch

            {code:xml}

                <rich:modalPanel id="panelPartnerSearch" minWidth="600" maxHeight="350" autosized="true" reRenderAfterComplete="modalContentPartnerSearch">
                        <f:facet name="header">
                            <h:panelGroup>
                                <h:outputText value="Partnersuche"></h:outputText>
                            </h:panelGroup>
                        </f:facet>
                        <f:facet name="controls">
                            <h:panelGroup>
                                <h:graphicImage value="#{resources.image('message.close')}" height="16" width="16" styleClass="hidelink" id="mdi"/>
                                <rich:componentControl for="panelPartnerSearch" attachTo="mdi" operation="hide" event="onclick"/>
                            </h:panelGroup>
                        </f:facet>
                       
                        <a4j:form id="panelFormFastPartySearch">                       
                            <a4j:outputPanel id="modalContentPartnerSearch" ajaxRendered="true">
                                 <table width="100%">
                                        <tr align="left">
                                            <td>           
                                                <h:panelGrid columns="1">
                                                    <a4j:jsFunction name="selectEntry" action="#{partyTurntableButtonController.fastSearchOvertakeSelectedParties}" reRender="panelPartnerTurntable"/>
                                               
                                                    <rich:datascroller for="fastpartyDataList"/>
                                                    <rich:extendedDataTable
                                                        id="fastpartyDataList"
                                                        width="600px"
                                                        height="350px"
                                                        sortMode="single"
                                                        selectionMode="multi"
                                                           value="#{turntableFastSearchModel.partyDataList}"
                                                        selection="#{turntableFastSearchDatatableBinding.selection}"
                                                        binding="#{turntableFastSearchDatatableBinding.dataTable}"
                                                           rows="20"
                                                           var="row">

                                                           <a4j:support event="onclick" limitToList="true" immmediate="true" bypassUpdates="true"/>
                                                        <a4j:support event="onRowDblClick" limitToList="true" immmediate="true" bypassUpdates="true" oncomplete="selectEntry();Richfaces.hideModalPanel('panelPartnerSearch');" />
                   
                                                        <rich:column headerClass="dataTableHeader" width="100"
                                                            label="Actions" sortable="false">
                                                            <f:facet name="header">
                                                                <h:outputText value="Aktionen" />
                                                            </f:facet>
                                                        </rich:column>
                                                        <rich:column headerClass="dataTableHeader" width="50"
                                                            label="Id" sortable="true" sortBy="#{row.ID}">
                                                            <f:facet name="header">
                                                                <h:outputText value="Id" />
                                                            </f:facet>
                                                            <h:outputText value="#{row.ID}" />
                                                        </rich:column>
                                                        <rich:column headerClass="dataTableHeader" width="300"
                                                            label="Name" sortable="true" sortBy="#{row.preview}"
                                                                         filterBy="#{row.preview}" filterEvent="onkeyup">
                                                            <f:facet name="header">
                                                                <h:outputText value="Name" />
                                                            </f:facet>
                                                            <h:outputText value="#{row.preview}" />
                                                        </rich:column>
                                                        <rich:column headerClass="dataTableHeader" width="100"
                                                            label="Birthdate" sortable="true" sortBy="#{row.birthdate}">
                                                            <f:facet name="header">
                                                                <h:outputText value="Geburtsdatum" />
                                                            </f:facet>
                                                            <h:outputText value="#{row.geburtsdatum}" />
                                                        </rich:column>
                                                    </rich:extendedDataTable>´
                                                    <rich:datascroller for="fastpartyDataList"/>
                                                   </h:panelGrid>
                                            </td>
                                        </tr>
                                </table>   
                               </a4j:outputPanel>
                               <rich:spacer height="3" />   
                               <t:fieldset>
                                <table width="100%">
                                    <tr align="right">
                                        <td>
                                            <a4j:commandButton     id="fastPartySearchCancelButton"
                                                                onclick="Richfaces.hideModalPanel('panelPartnerSearch');"
                                                                value="#{convertHelper.getButtonLabel('buttonbar.product.cancel')}"    
                                                                style="width:#{convertHelper.calculateButtonSize('buttonbar.product.cancel')}px"
                                                                type="reset"
                                                                />
                                                               
                                                                <a4j:commandButton     id="test"
                                                                value="refresh"    
                                                                style="width:#{convertHelper.calculateButtonSize('buttonbar.product.cancel')}px"
                                                                status="waitStatus"
                                                                reRender="modalContentPartnerSearch"
                                                                />
                                           
                                            <a4j:commandButton     id="fastPartySearchOKButton"
                                                                oncomplete="Richfaces.hideModalPanel('panelPartnerSearch');"
                                                                value="#{convertHelper.getButtonLabel('buttonbar.product.ok')}"    
                                                                ajaxSingle="true"   
                                                                status="waitStatus"
                                                                reRender="panelPartnerTurntable"                                       
                                                                action="#{partyTurntableButtonController.fastSearchOvertakeSelectedParties}"
                                                                style="width:#{convertHelper.calculateButtonSize('buttonbar.product.ok')}px"
                                                                />
                                        </td>
                                    </tr>       
                                </table>
                            </t:fieldset>
                    </a4j:form>           
                </rich:modalPanel>

            {code}

            • 3. Re: modalpanel "in" modalpanel showing data problem
              renegritsch

              do you need the java code as well?