Author: d.bulahov
Date: 2007-03-17 05:40:07 -0400 (Sat, 17 Mar 2007)
New Revision: 93
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
Log:
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
---
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-03-16
20:42:42 UTC (rev 92)
+++
trunk/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-03-17
09:40:07 UTC (rev 93)
@@ -266,19 +266,27 @@
if (previous >= 0) dataTable.setFirst(previous);
}
else if (NEXT_FACET_NAME.equals(facetName)) {
- int next = dataTable.getFirst() + getRows();
- if (next>getMaxPages()) next=getMaxPages();
+ int rows = getRows();
+ int next = dataTable.getFirst() + rows;
if (next < getRowCount()) dataTable.setFirst(next);
+ if (rows>0){
+ if (((next+rows)/rows)>getMaxPages()){
+ next=getMaxPages()*rows-rows;;
+ }
+ }
}
else if (FAST_FORWARD_FACET_NAME.equals(facetName)) {
- int fastStep = getFastStep();
+ int fastStep = getFastStep();
+ int rows = getRows();
if (fastStep <= 0) fastStep = 1;
- int next = dataTable.getFirst() + getRows() * fastStep;
+ int next = dataTable.getFirst() + rows * fastStep;
int rowcount = getRowCount();
if (next >= rowcount)
- next = (rowcount - 1) - ((rowcount - 1) % getRows());
- if (next>getMaxPages()){
- next=getMaxPages();
+ next = (rowcount - 1) - ((rowcount - 1) % rows);
+ if (rows>0){
+ if (((next+rows)/rows)>getMaxPages()){
+ next=getMaxPages()*rows-rows;;
+ }
}
dataTable.setFirst(next);
}
@@ -296,9 +304,11 @@
int first = delta > 0 && delta < rows ? rowcount - delta : rowcount
- rows;
if (first >= 0) {
- if (first>getMaxPages()){
- first=getMaxPages();
+ if (rows>0){
+ if (((first+rows)/rows)>getMaxPages()){
+ first=getMaxPages()*rows-rows;
}
+ }
dataTable.setFirst(first);
}
else {
Show replies by date