|
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.
|