summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui/Grid.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/ui/Grid.java')
-rw-r--r--server/src/com/vaadin/ui/Grid.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java
index 0774afd582..06ab8d1581 100644
--- a/server/src/com/vaadin/ui/Grid.java
+++ b/server/src/com/vaadin/ui/Grid.java
@@ -312,7 +312,7 @@ public class Grid extends AbstractFocusable implements SelectionNotifier,
*
* @see #setDetailsGenerator(DetailsGenerator)
*/
- private DetailsGenerator detailsGenerator = DetailsGenerator.NULL;
+ private DetailsGenerator detailsGenerator;
/**
* This map represents all details that are currently visible on the
@@ -334,7 +334,13 @@ public class Grid extends AbstractFocusable implements SelectionNotifier,
private final Set<Object> openDetails = new HashSet<Object>();
public DetailComponentManager(Grid grid) {
+ this(grid, DetailsGenerator.NULL);
+ }
+
+ public DetailComponentManager(Grid grid,
+ DetailsGenerator detailsGenerator) {
super(grid);
+ setDetailsGenerator(detailsGenerator);
}
/**
@@ -4914,7 +4920,12 @@ public class Grid extends AbstractFocusable implements SelectionNotifier,
}
}
- detailComponentManager = new DetailComponentManager(this);
+ if (detailComponentManager != null) {
+ detailComponentManager = new DetailComponentManager(this,
+ detailComponentManager.getDetailsGenerator());
+ } else {
+ detailComponentManager = new DetailComponentManager(this);
+ }
/*
* selectionModel == null when the invocation comes from the