diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloController.java index ff24dfcc7..d0e9fef25 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloController.java @@ -114,6 +114,7 @@ public class MonteCarloController extends GenericForwardComposer { @Override public void onEvent(Event event) throws Exception { + validateRowsPercentages(); IBackGroundOperation operation = new IBackGroundOperation() { @Override @@ -130,7 +131,6 @@ public class MonteCarloController extends GenericForwardComposer { try { updatesEmitter.doUpdate(disableButton(true)); int iterations = getIterations(); - validateRowsPercentages(); final Map monteCarloData = monteCarloModel .calculateMonteCarlo(getSelectedCriticalPath(), iterations, @@ -169,6 +169,9 @@ public class MonteCarloController extends GenericForwardComposer { private void validateRowsPercentages() { Intbox intbox; + int page = 0; + int counter = 0; + Rows rows = gridCriticalPathTasks.getRows(); for (Object each : rows.getChildren()) { Row row = (Row) each; @@ -184,9 +187,15 @@ public class MonteCarloController extends GenericForwardComposer { sum += intbox.getValue(); if (sum != 100) { + gridCriticalPathTasks.setActivePage(page); throw new WrongValueException(row, _("Percentages should sum 100")); } + + counter++; + if (counter % gridCriticalPathTasks.getPageSize() == 0) { + page++; + } } } @@ -275,6 +284,7 @@ public class MonteCarloController extends GenericForwardComposer { } if (gridCriticalPathTasks.getRowRenderer() == null) { gridCriticalPathTasks.setRowRenderer(gridCriticalPathTasksRender); + gridCriticalPathTasks.renderAll(); } }