Revision: 8474
Author: [email protected]
Date: Tue Aug  3 23:33:14 2010
Log: Always show "more" link when pager's list view has an inexact item count. More should set a range beyond the current datasize if the count is inexact.

Review at http://gwt-code-reviews.appspot.com/708803

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=8474

Modified:
 /trunk/user/src/com/google/gwt/user/cellview/client/PageSizePager.java

=======================================
--- /trunk/user/src/com/google/gwt/user/cellview/client/PageSizePager.java Fri Jul 2 09:26:53 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/PageSizePager.java Tue Aug 3 23:33:14 2010
@@ -57,8 +57,9 @@
     showMoreButton.addClickHandler(new ClickHandler() {
       public void onClick(ClickEvent event) {
         Range range = listView.getRange();
-        int pageSize = Math.min(range.getLength() + increment,
-            listView.getDataSize());
+        int pageSize = Math.min(
+            range.getLength() + increment,
+ listView.getDataSize() + (listView.isDataSizeExact() ? 0 : increment));
         listView.setRange(range.getStart(), pageSize);
       }
     });
@@ -84,7 +85,7 @@
     // Assumes a page start index of 0.
     int pageSize = listView.getRange().getLength();
     boolean hasLess = pageSize > increment;
-    boolean hasMore = pageSize < listView.getDataSize();
+ boolean hasMore = !listView.isDataSizeExact() || pageSize < listView.getDataSize();
     showLessButton.setVisible(hasLess);
     showMoreButton.setVisible(hasMore);
     layout.setText(0, 1, (hasLess && hasMore) ? " | " : "");

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to