3 Replies Latest reply on Jul 5, 2007 3:20 AM by rfuser

    Reset of datascroller back to first page

    rfuser

      Hello,

      If anyone is experiancing problems with datascroller not being refreshed back to first page after content of associated dataTable changes, try following:

      - Use latest version of RichFaces 3.0.1 (http://repository.jboss.com/maven2/org/richfaces/richfaces/3.0.1/)
      - Build latest source of Ajax4jsf (http://anonsvn.jboss.org/repos/ajax4jsf/)

      In your code write something like this:

      private void resetDatascroller()
      {
      HtmlDatascroller scroller = ...
      scroller.setFirstRow(0);
      }

      Call this method each time when dataTable content changes.

      This works for me.
      Bye

        • 1. Re: Reset of datascroller back to first page
          mazant

          Hi,
          I don't understand what to write on the right side of

          HtmlDatascroller scroller = ...

          -mazant-

          • 2. Re: Reset of datascroller back to first page
            rfuser

            Hi,

            You need to get instance of your data scroller component. Do that by calling findComponent method which is part of the UIViewRoot like this:

            HtmlDatascroller scroller = (HtmlDatascroller)FacesContext.getCurrentInstance().getViewRoot().findComponent("scrollerId");

            Of course if the scroller is inside some form you need access it through form id:

            HtmlDatascroller scroller = (HtmlDatascroller)FacesContext.getCurrentInstance().getViewRoot().findComponent("formId:scrollerId");

            bye

            • 3. Re: Reset of datascroller back to first page
              rfuser

              Hello,

              I forgot to mention that in case when scroller is inside data table you also need to include table ID in your findComponent "path":

              HtmlDatascroller scroller = (HtmlDatascroller)FacesContext.getCurrentInstance().getViewRoot().findComponent("formId:dataTableId:scrollerId");

              bye