diff options
Diffstat (limited to 'server/src/com/vaadin/ui/Grid.java')
-rw-r--r-- | server/src/com/vaadin/ui/Grid.java | 15 |
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 |