cancel
Showing results for 
Search instead for 
Did you mean: 

Paging a large ResultSet in a WD Table

0 Kudos

Hi,

Is there any standard way to handle this?

Let's have 100 000 records. We have a method

getData(startingRow, rowsCount)

which can be used for paging.

We have a context node for results and a table bound to it.

What we need, is

1. to see that there are actually 100 000 results,

2. but to keep only visible data in memory when user scrolls.

Is there any automatic way - for instance some event that will be fired, when the table needs more data to visualize?

Regards, Konstantin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Konstantin,

This wheel is not invented yet. Follow links from this thread:

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Answers (2)

Answers (2)

BeGanz
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Konstantin,

look at this: [Web Dynpro Java Table Paging Unleashed: Optimizing Heavy Table Performance|https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12130] [original link is broken] [original link is broken] [original link is broken];. This also applies to NetWeaver 04 and 7.0.

Regards, Bertram

Former Member
0 Kudos

Hi

Set the visibleRowCount property of the table to increase the view records.

try this

Create a attribute with type int and bind it to the table's visibleRowCount property . Set the value at runtime. You can see all the records in one page

Kind Regards

Mukesh

0 Kudos

Hi Mukesh,

The problem is - you have to really have 100 000 elements in the context, for the table to show actual count of 100 000 and to allow scrolling.

Regards, Konstantin

Former Member
0 Kudos

Hi,

You can disable the default table footer and then implement your own paging routines through buttons and inpufields.

Regards,

Satyajit.

0 Kudos

Hi Satyajit,

Yes, I know.

But is this the standard solution? The problem could be very common - for instance in search engines like TREX.

I would expect to be able to bind the <b>actualCount</b> property of the table to some calculated attribute, and to receive some event - "update 5 rows from startingRow=115" when the user wants to scroll up or down.

I can't find something like this.

Regards, Konstantin

Former Member
0 Kudos

Hi

I checked with 100000 records for one table . It gives the output. While Scroll the Table it takes Maximum time.

Kind Regards

Mukesh

0 Kudos

Hi Valery,

Thanks, that is what I supposed. I just wanted to make sure that there is no standard solution.

Yes, I agree, no user can browse milions of records. But the problem is - any user can obtain them, and the application should not crash, as well as the Web AS itself.

For instance, if you go to some search engine and search just for the word "is" - you will get a message "Results 1 - 10 from about 12,820,000,000", and everything keeps on working.

We don't have to invent the wheel, paging is already invented.

Regards, Konstantin

0 Kudos

Hi Mukesh,

Yes, but what will happen if there are several hundred users like these? This is a real situation for a web application.

Regards, Konstantin

Former Member
0 Kudos

You could send a development request such that it goes into official planning.

Armin

Former Member
0 Kudos

Konstantin,

It was just a sad irony -- even paging is already invented, it's still not applied in WD. At least, at the scale you need.

<oft>

Some time ago I created an application that was (is?) able to show up to 6.5 millions of records (limitation imposed by 32bit of JavaScript positive integer values and row height of approx. 18px, now you may guess an algorithm :). But it was DHTML (I didn't know word AJAX in 2001), not a WD ;(

</oft>

VS