A bit off topic,
but it would be really cool if you/someone could update the wiki about a way
of lazy loading and pagination. I suspect that it is only a matter of time
before I'll be in a similar position and have to figure out how to do this,
in which case a nice wiki explenation would be really nice :)

Thanks,
Mike

On 20/02/07, Jay Balunas <[EMAIL PROTECTED]> wrote:

Hello,

I have implemented a very similar feature as to what you are requesting.

What this sounds like is the built in "fast forward, fast rewind"
buttons.  These will bump you ahead some number of pages automatically.  The
issue you may have is that these will display even if the data set is small
or not available.  You could probably set the render attribute based on the
number of records returned like you show in your example.

Another way to do something similar is actually to have two
dataScrollers.  One shows the pages and numbers like you display - then
another one next to it that does not show any pages, or images, but instead
uses the local variables like pageCount, curRow, etc... to determine if a
"more" link should be displayed.  It would end up looking like <<1 2 3 4 5
>> More

The getFetchData is nice because if gets called automatically when the
data table needs more info.  What I have done is changed the request objects
used to fetch the correct data (startRow, sortData, pageObj) based on user
input then made a new method called "resetData" that can be called to force
a new fetch.  This gets called after the user changes a filter, or sorts the
data.

Is this the type of behavior that you are looking for?

-Jay

On 2/20/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
>  Hi Paul,
>
> Thank you for your response.
> But after going through this I have couple of questions on
> implementations.
> Being pretty new jsf i am sorry if some of my doubts are irrelavent.
>
> Since i want my GUI to look like  <<1 2 3 4 5 *More* >>.I need to
> implement a new facetn something like this while customizing
> <t:DataScroller>
> <f:facet name="DBfetch">
> <h:outputText value= "More" rendered="condition"></ h:outputText>
> </f:facet>
>
> Since Select COUNT(*) from DB is a time consuming operation.The client
> has ruled out this option.
> So with the click of *More* i want to perform a database fetch in
> subsets of 250 records at a time.
> I want to perform this operation in my page bean.
>
> I want to know how can i link this getfetchData() method in my page bean
> with the <t:DataScroller>.
> Is it possible.??
>
>
> Best Regards,
> Pallavi
>  ------------------------------
> *From:* Paul Iov [mailto:[EMAIL PROTECTED]
> *Sent:* Monday, February 19, 2007 6:48 PM
> *To:* MyFaces Discussion
> *Subject:* Re: Pagination of large database tables
>
> Hi Pallavi!
>
> First of all take a look at 
http://wiki.apache.org/myfaces/WorkingWithLargeTables
> . The illustrating code there is IMHO a little bit buggy (especially for
> subsets of large datasets, which commes from EJB it makes no sense to fetch
> the same page twice, since the sorting order never chahges), but generally
> this approach works fine.
>
> I have exactly the same usecase - large resultsets and fetching on
> demand, but I'm using ac:AjaxDataScroller insteed of <t:dataScroller>,
> because the second one is not Ajax-compatible :( Any way, with own extended
> implementation of DataModel im background it would be preaty easy to
> implement "fetch more" feature, you are asking for.
>
> regards,
> paul
>
> [EMAIL PROTECTED] schrieb:
>
> Hi All,
>
> I currently have a requirement for pagination.
> I want the following GUI display <<1 2 3 4 5 more >>.
> Where on click of << is for previous.
> And on click of >> is for next.
> So with these two i could go ahead with <t:dataScroller> for the above
> mentioned functionlity.
> But if i had the advantage of knowing the total number of rows with DB
> to perform COUNT operation on the total number of rows.
>
> But for larger tables this wouldn't be efficient.
> Hence the requirement demands fetching rows in multiples of 250.
> And each page displaying 50 rows per page.
> With the click on more it would fetch the next 250 rows.
> And the display should look like << 6 7 8 9 10 More >>.(something
> similar to google's pagination).
>
> Is there a way by which i can implement this.
> Or can i extend the functionality of <t:dataScroller> to implement this.
> Any suggestions are welcome.
>
>
> Best Regards,
> Pallavi
>
>
>
>
>
> The information contained in this electronic message and any attachments
> to this message are intended for the exclusive use of the addressee(s) and
> may contain proprietary, confidential or privileged information. If you are
> not the intended recipient, you should not disseminate, distribute or copy
> this e-mail. Please notify the sender immediately and destroy all copies of
> this message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of viruses. The
> company accepts no liability for any damage caused by any virus transmitted
> by this email.
>
> www.wipro.com
>
>
>
> The information contained in this electronic message and any attachments
> to this message are intended for the exclusive use of the addressee(s) and
> may contain proprietary, confidential or privileged information. If you are
> not the intended recipient, you should not disseminate, distribute or copy
> this e-mail. Please notify the sender immediately and destroy all copies of
> this message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of viruses. The
> company accepts no liability for any damage caused by any virus transmitted
> by this email.
>
> www.wipro.com
>


Reply via email to