From d1e1ecef82adc47882dc5fe3636bf48c8ed6dcc1 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Fri, 26 Sep 2014 14:36:16 +0300 Subject: Update sortable columns on property set change (#13334) Change-Id: I01e74825e5ba68fb3a5e6f68acf8ba7fbde97cf2 --- server/src/com/vaadin/ui/components/grid/Grid.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'server') diff --git a/server/src/com/vaadin/ui/components/grid/Grid.java b/server/src/com/vaadin/ui/components/grid/Grid.java index 03d21816b5..9170b712d0 100644 --- a/server/src/com/vaadin/ui/components/grid/Grid.java +++ b/server/src/com/vaadin/ui/components/grid/Grid.java @@ -26,6 +26,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import com.google.gwt.thirdparty.guava.common.collect.Sets; import com.google.gwt.thirdparty.guava.common.collect.Sets.SetView; @@ -239,6 +240,16 @@ public class Grid extends AbstractComponent implements SelectionChangeNotifier, if (!columns.containsKey(frozenPropertyId)) { setLastFrozenPropertyId(null); } + + // Update sortable columns + if (event.getContainer() instanceof Sortable) { + Collection sortableProperties = ((Sortable) event + .getContainer()).getSortableContainerPropertyIds(); + for (Entry columnEntry : columns.entrySet()) { + columnEntry.getValue().setSortable( + sortableProperties.contains(columnEntry.getKey())); + } + } } }; -- cgit v1.2.3