From: <die...@us...> - 2012-01-16 11:04:11
|
Revision: 3733 http://openutils.svn.sourceforge.net/openutils/?rev=3733&view=rev Author: diego_schivo Date: 2012-01-16 11:04:00 +0000 (Mon, 16 Jan 2012) Log Message: ----------- CONTROLS-42 Grid: extra empty lines are not removed on dialog save after row count has been decreased Modified Paths: -------------- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java Modified: trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java =================================================================== --- trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java 2011-12-28 07:41:17 UTC (rev 3732) +++ trunk/openutils-mgnlcontrols/src/main/java/net/sourceforge/openutils/mgnlcontrols/dialog/DialogGrid.java 2012-01-16 11:04:00 UTC (rev 3733) @@ -35,6 +35,7 @@ import net.sourceforge.openutils.mgnlcontrols.configuration.GridColumnTypeManager; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; /** @@ -103,6 +104,32 @@ } colIndex++; } + int rows = NumberUtils.toInt(String.valueOf(parameters.get("rows")), -1); + if (rows > 0) + { + while (columns.size() < rows) + { + columns.add(new String[0]); + } + while (columns.size() > rows) + { + boolean empty = true; + for (String token : columns.get(columns.size() - 1)) + { + if (!StringUtils.isEmpty(token)) + { + empty = false; + break; + } + } + if (!empty) + { + // non-empty line: do not remove it + break; + } + columns.remove(columns.size() - 1); + } + } value = DialogGridSaveHandler.columnsToValue(columns); } parameters.put("gridValue", value); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |