Hi Hans,

Thanks for your reply,

I tried changing the tag to html library data table but still got the same 
error. Also I saw the html code generated for one panel and it looks like ids 
are getting incremented. Here id for anchor is 
"form:ProdReqs_0:_id7ToggleCollapsed" which is having ProdReqs_0 and should get 
incremented for next row. Not sure what is wrong.
Please see if u can find something incorrect.

  <h:dataTable id="ProdReqs" 
columnClasses="list-column-center,list-column-right, 
list-column-center,list-column-right" 
        headerClass="list-header" rowClasses="list-row" 
styleClass="list-background" value="#{prqViewBacking.productionRequests}" 
var="prodReq"> 
                
             <h:column>
                <f:facet name="header">
                        <t:div 
style="width:500px;background-color:#CCCCCC;align=left">
                                <h:outputText value="Production Request "/>
                        </t:div>
                </f:facet>
              
                
              
                <t:div style="width:500px;background-color:#CC00CC;align=left">
                              <t:commandLink immediate="true">
                               <h:outputText value="> - Drill Down" 
rendered="#{prodReq.collapsed}"/>
                           <h:outputText value="v + " 
rendered="#{!prodReq.collapsed}"/>
                        </t:commandLink> 
                </t:div>                                        
              
                <t:collapsiblePanel dir="ltr" value="#{prodReq.firstName}">
                                    <h:inputText value="#{prodReq.firstName}"/>
                                    <h:inputText value="#{prodReq.surName}"/>
                                    <h:inputText value="#{prodReq.collapsed}"/>
                    </t:collapsiblePanel>
            </h:column>
        </h:dataTable>      


Best Regards,

________________

Saurabh Raisinghaney 



-----Original Message-----
From: Hansjörg Meuschel [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 10, 2006 4:13 PM
To: MyFaces Discussion
Subject: Re: Urgent: Collapsible Panel with data table not working 
IllegalStateException: Client-id : _id3ToggleCollapsed

Hi,
the problem is the surrounding t:datatable: Children of this component 
all get the same id as the component does not create new objects for 
each iteration.
-> I recommend switching to the h:datatable or writing your own component!
Greets, Hans


Saurabh Rasinghaney wrote:

> Hi All,
>
>  
>
> We are facing a problem (java.lang.IllegalStateException: Client-id : 
> _id3ToggleCollapsed is duplicated in the faces tree.) with Collapsible 
> Panel, when we are using Collapsible inside a data table. When we 
> display one row it shows one panel but when we display multiple rows 
> it gives error (attached below).
>
>  
>
> I am not sure if we can do this or not. The code and exception trace 
> is attached below.
>
>  
>
> Any suggestions are welcome. Thanks in advance for your help.
>
>  
>
> Thanks,
>
> Saurabh
>
>  
>
>  
>
>  
>
>  
>
>         <t:dataTable id="test_dt" var="prodReq" 
> value="#{prqViewBacking.productionRequests}" preserveDataModel="false"
>
>                     styleClass="scrollerTable"
>
>                 headerClass="standardTable_Header"
>
>                 footerClass="standardTable_Header"
>
>                 rowClasses="standardTable_Row1,standardTable_Row2"
>
>                 
> columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column"
>
>         >
>
>        
>
>             <h:column>               
>
>                 <f:facet name="header">
>
>                  <t:div 
> style="width:500px;background-color:#CCCCCC;align=left">
>
>                               <h:outputText value="Production Request "/>
>
>                  </t:div>
>
>                 </f:facet>
>
>                
>
>                    <t:collapsiblePanel dir="ltr" 
> collapsed="#{prodReq.collapsed}">
>
>                       <h:panelGrid>
>
>                               <h:inputText value="#{prodReq.firstName}"/>
>
>                               <h:inputText value="#{prodReq.surName}"/>
>
>                               <h:inputText value="#{prodReq.collapsed}"/>
>
>                           </h:panelGrid>
>
>                 </t:collapsiblePanel>
>
>             </h:column>
>
>  
>
>  
>
>  
>
>  
>
> import java.util.ArrayList;
>
>  
>
> /**
>
>  *
>
>  */
>
>  
>
> public class PrqViewBacking implements java.io.Serializable {
>
>                
>
>     //private boolean _collapsed=true;
>
>     private ArrayList<ProductionRequest> _productionRequests;
>
>    
>
>     public PrqViewBacking() {
>
>                 ArrayList<ProductionRequest> productionRequests  = new 
> ArrayList<ProductionRequest>();
>
>                 //test data
>
>                 productionRequests.add(new 
> ProductionRequest("A","B","12/12/2006"));          
>
>                 productionRequests.add(new 
> ProductionRequest("c","d","12/12/2006"));
>
>                 //productionRequests.add(new 
> ProductionRequest("e","f","12/12/2006"));
>
>                 //productionRequests.add(new 
> ProductionRequest("g","h","12/12/2006"));
>
>                 this.setProductionRequests(productionRequests);
>
>     }   
>
>    
>
>    
>
>  
>
>                 public ArrayList getProductionRequests() {
>
>                                 System.out.println("In get prod req" + 
> _productionRequests);                              
>
>                                 return _productionRequests;
>
>                 }
>
>                
>
>                 public ArrayList productionRequests() {
>
>                                 
> System.out.println(_productionRequests);                            
>
>                                 return _productionRequests;
>
>                 }
>
>  
>
>                 public void setProductionRequests(ArrayList 
> productionRequests) {
>
>                                 _productionRequests = productionRequests;
>
>                 }
>
> }
>
>  
>
>  
>
>  
>
> public class ProductionRequest implements java.io.Serializable {
>
>                
>
>                 private String _firstName;
>
>                 private String _surName;
>
>                 private String _birthDate;
>
>                
>
>                 private static Integer id=0;
>
>                
>
>                 private boolean _collapsed=true;
>
>                
>
>                 public static String getId() {
>
>                                 return "_" + (++id).toString();
>
>                 }
>
>                
>
>                
>
>                 public ProductionRequest() {
>
>                                 //Do Nothing                            
>
>                 }
>
>                
>
>                 public ProductionRequest(String firstName, String 
> surName, String birthDate) {
>
>                                 setFirstName(firstName);
>
>                                 setSurName(surName);
>
>                                 setBirthDate(birthDate);
>
>                 }
>
>                
>
>                   public boolean collapsed() {
>
>                         return _collapsed;
>
>                   }
>
>                  
>
>     public boolean isCollapsed() {
>
>         return _collapsed;
>
>     }
>
>  
>
>     public void setCollapsed(boolean collapsed) {
>
>         _collapsed = collapsed;
>
>     }
>
>    
>
>     public boolean getCollapsed() {
>
>        return _collapsed;
>
>     }
>
>  
>
>                 public String getBirthDate() {
>
>                                 return _birthDate;
>
>                 }
>
>  
>
>                 public void setBirthDate(String birthDate) {
>
>                                 this._birthDate = birthDate;
>
>                 }
>
>  
>
>                 public String getFirstName() {
>
>                                 return _firstName;
>
>                 }
>
>  
>
>                 public void setFirstName(String firstName) {
>
>                                 this._firstName = firstName;
>
>                 }
>
>  
>
>                 public String getSurName() {
>
>                                 return _surName;
>
>                 }
>
>  
>
>                 public void setSurName(String surName) {
>
>                                 this._surName = surName;
>
>                 }
>
>  
>
>  
>
> }
>
>  
>
>  
>
> 14:48:24,390 ERROR [[jsp]] Servlet.service() for servlet jsp threw 
> exception
>
> java.lang.IllegalStateException: Client-id : _id3ToggleCollapsed is 
> duplicated in the faces tree.
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:241)
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:251)
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:251)
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
>
>         at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:204)
>
>         at 
> org.apache.myfaces.taglib.core.ViewTag.doAfterBody(ViewTag.java:139)
>
>         at 
> org.apache.jsp.app.PrqView_jsp._jspx_meth_f_view_0(org.apache.jsp.app.PrqView_jsp:140)
>
>         at 
> org.apache.jsp.app.PrqView_jsp._jspService(org.apache.jsp.app.PrqView_jsp:100)
>
>         at 
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>
>         at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>
>         at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
>
>         at 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
>
>         at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
>
>         at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
>
>         at 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:415)
>
>         at 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
>
>         at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
>
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>
>         at 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>
>         at 
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>
>         at 
> org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
>
>         at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
>
>         at 
> org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
>
>         at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
>
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
>
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
>
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>
>         at 
> org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
>
>         at java.lang.Thread.run(Thread.java:595)
>
>  
>
>  
>
>  
>
> Best Regards,
>
> ________________
>
> *Saurabh Raisinghaney *
>
>  
>


-- 
Mit freundlichen Grüßen,

------------------------------
 Hansjörg Meuschel
 Martin-Treu-Str. 40
 90403 Nürnberg
 Tel.   +49 (0)911 274 278 1
 mobil: +49 (1)60 725 3479
 mail:  [EMAIL PROTECTED]
 http://www.meuschel.net


Reply via email to