aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java
index e0ff2b0f77..0dc7ebac21 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java
@@ -615,18 +615,22 @@ public class IScrollTable extends Composite implements Table, ScrollListener,
}
if (enabled) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- if (totalRows - 1 > tBody.getLastRendered()) {
- // fetch cache rows
- rowRequestHandler.setReqFirstRow(tBody
- .getLastRendered() + 1);
- rowRequestHandler
- .setReqRows((int) (pageLength * CACHE_RATE));
- rowRequestHandler.deferRowFetch(1);
+ // Do we need cache rows
+ if (tBody.getLastRendered() + 1 < firstRowInViewPort + pageLength
+ + CACHE_REACT_RATE * pageLength) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ if (totalRows - 1 > tBody.getLastRendered()) {
+ // fetch cache rows
+ rowRequestHandler.setReqFirstRow(tBody
+ .getLastRendered() + 1);
+ rowRequestHandler
+ .setReqRows((int) (pageLength * CACHE_RATE));
+ rowRequestHandler.deferRowFetch(1);
+ }
}
- }
- });
+ });
+ }
}
initializedAndAttached = true;
}