1 2 Previous Next 23 Replies Latest reply on Feb 22, 2011 9:50 AM by blabno Go to original post
      • 15. Re: RichFaces Datascroller with Seam EntityQuery
        blabno

        Is conversation long-running? For testing purpose only put it into SESSION scope.

        • 16. Re: RichFaces Datascroller with Seam EntityQuery
          sandman202

          Strange thing happened when I changed scope to SESSION. I receive the following error when I try to go to the listing.


          java.lang.IllegalStateException: EntityManager is closed
               at org.hibernate.ejb.EntityManagerImpl.getSession(EntityManagerImpl.java:42)
               at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:447)
               at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:442)
               at org.jboss.seam.persistence.EntityManagerProxy.joinTransaction(EntityManagerProxy.java:122)
               at org.jboss.seam.transaction.AbstractUserTransaction.enlist(AbstractUserTransaction.java:73)
               at org.jboss.seam.framework.EntityQuery.joinTransaction(EntityQuery.java:230)
               at org.jboss.seam.framework.EntityQuery.createCountQuery(EntityQuery.java:196)
               at org.jboss.seam.framework.EntityQuery.initResultCount(EntityQuery.java:128)
               at org.jboss.seam.framework.EntityQuery.getResultCount(EntityQuery.java:120)
               at com.artwork.util.EntityQueryDataModel.getRowCount(EntityQueryDataModel.java:120)
               at org.ajax4jsf.component.UIDataAdaptor.getRowCount(UIDataAdaptor.java:248)
               at org.richfaces.component.UIDatascroller.getRowCount(UIDatascroller.java:351)
               at org.richfaces.component.UIDatascroller.getPageCount(UIDatascroller.java:326)
               at org.richfaces.component.UIDatascroller.setupFirstRowValue(UIDatascroller.java:441)
               at org.richfaces.component.RenderPhaseDataScrollerVisitor.afterRoot(RenderPhaseDataScrollerVisitor.java:191)
               at org.richfaces.event.RenderPhaseComponentListener.beforePhase(RenderPhaseComponentListener.java:73)
               at org.ajax4jsf.component.AjaxViewRoot.processPhaseListeners(AjaxViewRoot.java:185)
               at org.ajax4jsf.component.AjaxViewRoot.encodeBegin(AjaxViewRoot.java:502)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:934)
               at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
               at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
               at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
               at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
               at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
               at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at com.artwork.util.HttpRequestDebugFilter.doFilter(HttpRequestDebugFilter.java:55)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
               at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
               at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
               at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
               at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
               at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
               at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
               at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
               at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
               at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
               at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
               at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
               at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
               at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
               at java.lang.Thread.run(Unknown Source)
          



          Here is what InCityStateZipList.java looks like.


          @Name("inCityStateZipList")
          @Scope(ScopeType.SESSION)
          public class InCityStateZipList extends EntityQuery<InCityStateZip> 
          {
               private static final long serialVersionUID = -829747581750172545L;
          
               private static final String[] RESTRICTIONS = { 
                    "lower(inCityStateZip.country) like concat(lower(#{inCityStateZipList.inCityStateZip.country}),'%')",
                    "lower(inCityStateZip.city) like concat(lower(#{inCityStateZipList.inCityStateZip.city}),'%')",
                    "lower(inCityStateZip.province) like concat(lower(#{inCityStateZipList.inCityStateZip.province}),'%')",          
                    "lower(inCityStateZip.zipcode) like concat(lower(#{inCityStateZipList.inCityStateZip.zipcode}),'%')",     
                    "lower(inCityStateZip.county) like concat(lower(#{inCityStateZipList.inCityStateZip.county}),'%')",
                    "inCityStateZip.status = #{inCityStateZipList.inCityStateZip.status}",
                    "inCityStateZip.inFiles.id = #{inFilesHome.inFilesId}",
                    };
          
               private InCityStateZip inCityStateZip = new InCityStateZip();
               
               public InCityStateZipList() {
                    //this.setMaxResults(25);
                    this.setEjbql("select inCityStateZip from InCityStateZip inCityStateZip");
                    //this.setOrder("inCityStateZip.status asc");
                    this.setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
               }
               
               public InCityStateZip getInCityStateZip() {
                    return inCityStateZip;
               }
          
               public InFileStatus[] getInFileStatuses() {
                     return InFileStatus.values();
               }
               
               @Override
               public String getOrderColumn() {
                    if (super.getOrderColumn() == null) {
                         setOrderColumn("inCityStateZip.status");
                    }
                    return super.getOrderColumn();
               }     
               
               @Override
               public String getOrderDirection() {
                    if (super.getOrderDirection() == null) {
                         setOrderDirection("asc");
                    }
                    return super.getOrderDirection();
               }     
               
          }
          



          and here is what my InCityStateZipTable.xhtml looks like.


          <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                                       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          
          <ui:composition xmlns="http://www.w3.org/1999/xhtml"
               xmlns:s="http://jboss.com/products/seam/taglib"
               xmlns:ui="http://java.sun.com/jsf/facelets"
               xmlns:f="http://java.sun.com/jsf/core"
               xmlns:h="http://java.sun.com/jsf/html"
               xmlns:a4j="http://richfaces.org/a4j"
               xmlns:rich="http://richfaces.org/rich">
          
               <a4j:form id="inCityStateZipTableForm">
                    
                    <div class="association" id="inCityStateZips">
                              
                          <h:outputText value="No city-state-zips exists" rendered="#{empty inCityStateZipList.dataModel}"/>    
          
          
                         <rich:dataTable id="inCityStateZipList" 
                                             value="#{inCityStateZipList.dataModel}" 
                                             var="_inCityStateZip" 
                                             rendered="#{not empty inCityStateZipList.dataModel}"
                                             rows="#{optionsCache.load('maxTableRows')}">
                         
            
                              <rich:column>
                                   <f:facet name="header">
                                        <s:decorate template="/layout/sort.xhtml">
                                             <ui:param name="entityListName" value="inCityStateZipList"/>
                                             <ui:param name="entityList" value="#{inCityStateZipList}"/>
                                             <ui:param name="propertyLabel" value="Country"/>
                                             <!-- doesn't support two sort fields -->                              
                                             <ui:param name="propertyPath" value="inCityStateZip.country"/>
                                        </s:decorate>
                                   </f:facet>
                                     #{_inCityStateZip.country}
                            </rich:column>
                              
                              <rich:column>
                                   <f:facet name="header">
                                        <s:decorate template="/layout/sort.xhtml">
                                             <ui:param name="entityListName" value="inCityStateZipList"/>
                                             <ui:param name="entityList" value="#{inCityStateZipList}"/>
                                             <ui:param name="propertyLabel" value="City"/>
                                             <!-- doesn't support two sort fields -->                              
                                             <ui:param name="propertyPath" value="inCityStateZip.city"/>
                                        </s:decorate>
                                   </f:facet>
                                     #{_inCityStateZip.city}
                            </rich:column>   
          
                              <rich:column>
                                   <f:facet name="header">
                                        <s:decorate template="/layout/sort.xhtml">
                                             <ui:param name="entityListName" value="inCityStateZipList"/>
                                             <ui:param name="entityList" value="#{inCityStateZipList}"/>
                                             <ui:param name="propertyLabel" value="State"/>
                                             <!-- doesn't support two sort fields -->                              
                                             <ui:param name="propertyPath" value="inCityStateZip.province"/>
                                        </s:decorate>
                                   </f:facet>
                                     #{_inCityStateZip.province}
                            </rich:column>   
             
                              <rich:column>
                                   <f:facet name="header">
                                        <s:decorate template="/layout/sort.xhtml">
                                             <ui:param name="entityListName" value="inCityStateZipList"/>
                                             <ui:param name="entityList" value="#{inCityStateZipList}"/>
                                             <ui:param name="propertyLabel" value="Zipcode"/>
                                             <!-- doesn't support two sort fields -->                              
                                             <ui:param name="propertyPath" value="inCityStateZip.zipcode"/>
                                        </s:decorate>
                                   </f:facet>
                                     #{_inCityStateZip.zipcode}
                            </rich:column>                
                      
                              <rich:column>
                                   <f:facet name="header">
                                        <s:decorate template="/layout/sort.xhtml">
                                             <ui:param name="entityListName" value="inCityStateZipList"/>
                                             <ui:param name="entityList" value="#{inCityStateZipList}"/>
                                             <ui:param name="propertyLabel" value="County"/>
                                             <!-- doesn't support two sort fields -->                              
                                             <ui:param name="propertyPath" value="inCityStateZip.county"/>
                                        </s:decorate>
                                   </f:facet>
                                     #{_inCityStateZip.county}
                            </rich:column>     
             
                              <rich:column>
                                   <f:facet name="header">
                                        <s:decorate template="/layout/sort.xhtml">
                                             <ui:param name="entityListName" value="inCityStateZipList"/>
                                             <ui:param name="entityList" value="#{inCityStateZipList}"/>
                                             <ui:param name="propertyLabel" value="Status"/>
                                             <!-- doesn't support two sort fields -->                              
                                             <ui:param name="propertyPath" value="inCityStateZip.status.value"/>
                                        </s:decorate>
                                   </f:facet>
                                     #{_inCityStateZip.status.value}
                            </rich:column>                  
                         
                              <rich:column>
                                   <f:facet name="header">Action</f:facet>
                                   <s:link view="/role/admin/in/#{empty from ? 'InCityStateZip' : from}.xhtml"
                                        value="Select" id="inFiles" propagation="none">
                                        <f:param name="inCityStateZipFrom" value="#{inCityStateZipFrom}" />
                                        <f:param name="inCityStateZipId" value="#{_inCityStateZip.id}" />
                                   </s:link>
                              </rich:column>                    
               
                              <f:facet name="footer">
                                   <rich:datascroller page="#{inCityStateZipList.currentPage}"/>
                              </f:facet>               
                              
                         </rich:dataTable>
          
                    </div>
          
               </a4j:form>
          </ui:composition>
          







          • 17. Re: RichFaces Datascroller with Seam EntityQuery
            sandman202

            I tried an experiment over the weekend for testing the code. I created a new seam project with only 2 entities: InCityStateZip and CityStateZip. I loaded both database tables with 4000 records. The only code within my project are my java listings, .page.xml, .xhtml corresponding to each database table, EntityQuery.java and EntityQueryDataModel.java. The reason I made this test project was to make sure I had not made any changes that might of effected the outcome. My lising only displays 5 rows of data for each page.


            The InCityStateZip portion uses the changes Bernard provided. The results did not change. On scroller where the page numbers 1-10 are displayed, the paging does work. When I try to use next or fastforward, the paging does not work. Let me explain what it is doing. When you click next, it does go to the 2nd page, nut when you click next again, it takes you back to the 1st page. Then, no matter how many more times you click next, it keeps you on the 1st page.

            • 18. Re: RichFaces Datascroller with Seam EntityQuery
              sandman202

              Well, I removed the


              page="#{query.currentPage}"
              



              and it now works correctly.

              • 19. Re: RichFaces Datascroller with Seam EntityQuery
                nitingaur.nitin.gaur.keane.com

                I'm trying to implement datascroller using example in
                My Link
                I have added #{dataScrollerBean.scrollerPage} but what is #{dataScrollerBean.pagesToScroll} ?


                I'm using resultset from EntityQuery generated through seam-gen reverse engineering and added rows attribute in the dataTable.
                But after adding datascroller tag as in above link I don't see NEXT and LAST links active on page load as desired.


                Is there anything else missing?
                Thanks in advance

                • 20. Re: RichFaces Datascroller with Seam EntityQuery
                  blabno

                  Why don't you present your sources? (facelet and bean,full)

                  • 21. Re: RichFaces Datascroller with Seam EntityQuery
                    nitingaur.nitin.gaur.keane.com

                    Ok, I got links working after hardcoding selecItems tags (shown commented in code below) instead of dynamic menu items.
                    Now my only question is how will gtEmployeeInfoList.pagesToScroll be resolved.

                    <h:form id="gtEmployeeInfoData">
                        <rich:panel rendered="#{gtEmployeeInfoList.showResultList}">
                            <f:facet name="header">GtEmployeeInfo Search Results (#{empty gtEmployeeInfoList.resultList ? 0 : (gtEmployeeInfoList.paginated ? gtEmployeeInfoList.resultCount : gtEmployeeInfoList.resultList.size)})</f:facet>
                        <div class="results" id="gtEmployeeInfoList">

                        <h:outputText value="The gtEmployeeInfo search returned no results."
                                   rendered="#{empty gtEmployeeInfoList.resultList}"/>
                      
                        <rich:dataTable id="gtEmployeeInfoListDataTable"
                                    var="_gtEmployeeInfo"
                                    rows="#{gtEmployeeInfoList.maxResults}"
                                    value="#{gtEmployeeInfoList.resultList}"
                               rendered="#{not empty gtEmployeeInfoList.resultList}">
                            <rich:column>
                                <f:facet name="header">      
                                    <ui:include src="layout/sort.xhtml">
                                        <ui:param name="entityList" value="#{gtEmployeeInfoList}"/>
                                        <ui:param name="propertyLabel" value="Emp code"/>
                                        <ui:param name="propertyPath" value="gtEmployeeInfo.empCode"/>
                                    </ui:include>
                                </f:facet>
                                <h:outputText value="#{_gtEmployeeInfo.empCode}"/>
                            </rich:column>
                                <f:facet name="footer">
                              
                                    <rich:datascroller renderIfSinglePage="false" fastControls="hide"
                                        page="#{gtEmployeeInfoList.scrollerPage}" pagesVar="pages"
                                        id="ds" for="gtEmployeeInfoListDataTable">
                                        <f:facet name="first">
                                            <h:outputText value="First" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="first_disabled">
                                            <h:outputText value="First" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="last">
                                            <h:outputText value="Last" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="last_disabled">
                                            <h:outputText value="Last" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="previous">
                                            <h:outputText value="Previous" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="previous_disabled">
                                            <h:outputText value="Previous" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="next">
                                            <h:outputText value="Next" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="next_disabled">
                                            <h:outputText value="Next" styleClass="scrollerCell" />
                                        </f:facet>
                                        <f:facet name="pages">
                                            <h:panelGroup>
                                                <h:outputText value="Page "/>
                                                <h:selectOneMenu value="#{gtEmployeeInfoList.scrollerPage}"
                                                    onchange="#{rich:component('ds')}.switchToPage(this.value)">
                                                 <f:selectItems value="#{*gtEmployeeInfoList.pagesToScroll*}" />  
                    <!--                     <f:selectItem itemLabel="1" itemValue="1"/>  -->
                    <!--                     <f:selectItem itemLabel="2" itemValue="2"/>  -->
                    <!--                     <f:selectItem itemLabel="3" itemValue="3"/> -->
                                                </h:selectOneMenu>
                                                <h:outputText value=" of #{pages}" />
                                            </h:panelGroup>
                                        </f:facet>
                                    </rich:datascroller>
                                </f:facet>
                        </rich:dataTable>

                        </div>
                        </rich:panel>
                    </h:form>

                    • 22. Re: RichFaces Datascroller with Seam EntityQuery
                      nitingaur.nitin.gaur.keane.com

                      Sorry to bad code formatting, posting again...




                       <h:form id="gtEmployeeInfoData">
                          <rich:panel rendered="#{gtEmployeeInfoList.showResultList}">
                              <f:facet name="header">GtEmployeeInfo Search Results (#{empty gtEmployeeInfoList.resultList ? 0 : (gtEmployeeInfoList.paginated ? gtEmployeeInfoList.resultCount : gtEmployeeInfoList.resultList.size)})</f:facet>
                          <div class="results" id="gtEmployeeInfoList">
                      
                          <h:outputText value="The gtEmployeeInfo search returned no results."
                                     rendered="#{empty gtEmployeeInfoList.resultList}"/>
                         
                          <rich:dataTable id="gtEmployeeInfoListDataTable"
                                      var="_gtEmployeeInfo"
                                      rows="#{gtEmployeeInfoList.maxResults}"
                                      value="#{gtEmployeeInfoList.resultList}"
                                 rendered="#{not empty gtEmployeeInfoList.resultList}">
                              <rich:column>
                                  <f:facet name="header">       
                                      <ui:include src="layout/sort.xhtml">
                                          <ui:param name="entityList" value="#{gtEmployeeInfoList}"/>
                                          <ui:param name="propertyLabel" value="Emp code"/>
                                          <ui:param name="propertyPath" value="gtEmployeeInfo.empCode"/>
                                      </ui:include>
                                  </f:facet>
                                  <h:outputText value="#{_gtEmployeeInfo.empCode}"/>
                              </rich:column>
                                  <f:facet name="footer">
                                 
                                      <rich:datascroller renderIfSinglePage="false" fastControls="hide"
                                          page="#{gtEmployeeInfoList.scrollerPage}" pagesVar="pages"
                                          id="ds" for="gtEmployeeInfoListDataTable">
                                          <f:facet name="first">
                                              <h:outputText value="First" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="first_disabled">
                                              <h:outputText value="First" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="last">
                                              <h:outputText value="Last" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="last_disabled">
                                              <h:outputText value="Last" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="previous">
                                              <h:outputText value="Previous" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="previous_disabled">
                                              <h:outputText value="Previous" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="next">
                                              <h:outputText value="Next" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="next_disabled">
                                              <h:outputText value="Next" styleClass="scrollerCell" />
                                          </f:facet>
                                          <f:facet name="pages">
                                              <h:panelGroup>
                                                  <h:outputText value="Page "/>
                                                  <h:selectOneMenu value="#{gtEmployeeInfoList.scrollerPage}" 
                                                      onchange="#{rich:component('ds')}.switchToPage(this.value)">
                                                   <f:selectItems value="#{gtEmployeeInfoList.pagesToScroll}" />   
                      <!--                     <f:selectItem itemLabel="1" itemValue="1"/>  -->
                      <!--                     <f:selectItem itemLabel="2" itemValue="2"/>  -->
                      <!--                     <f:selectItem itemLabel="3" itemValue="3"/> -->
                                                  </h:selectOneMenu>
                                                  <h:outputText value=" of #{pages}" />
                                              </h:panelGroup>
                                          </f:facet>
                                      </rich:datascroller>
                                  </f:facet>
                          </rich:dataTable>
                      
                          </div>
                          </rich:panel>
                       </h:form>



                      • 23. Re: RichFaces Datascroller with Seam EntityQuery
                        blabno

                        I don't want to be rude, but You've been asked to post (facelet and bean,full). If you want to get answer next time, respond as requested. Otherwise it is very annoying.

                        1 2 Previous Next