summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/com/vaadin/ui/Grid.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java
index e1c7e894a3..cad02a6ea6 100644
--- a/server/src/com/vaadin/ui/Grid.java
+++ b/server/src/com/vaadin/ui/Grid.java
@@ -4859,6 +4859,11 @@ public class Grid extends AbstractFocusable implements SelectionNotifier,
removeExtension(datasourceExtension);
}
+ // Remove old DetailComponentManager
+ if (detailComponentManager != null) {
+ detailComponentManager.remove();
+ }
+
resetEditor();
datasource = container;
@@ -4893,6 +4898,11 @@ public class Grid extends AbstractFocusable implements SelectionNotifier,
datasourceExtension = new RpcDataProviderExtension(container);
datasourceExtension.extend(this);
datasourceExtension.addDataGenerator(new RowDataGenerator());
+ for (Extension e : getExtensions()) {
+ if (e instanceof DataGenerator) {
+ datasourceExtension.addDataGenerator((DataGenerator) e);
+ }
+ }
detailComponentManager = new DetailComponentManager(this);