aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/main/java/com/vaadin/ui/Grid.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/main/java/com/vaadin/ui/Grid.java')
-rw-r--r--server/src/main/java/com/vaadin/ui/Grid.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/server/src/main/java/com/vaadin/ui/Grid.java b/server/src/main/java/com/vaadin/ui/Grid.java
index 3bf65c6c9b..956b81c3eb 100644
--- a/server/src/main/java/com/vaadin/ui/Grid.java
+++ b/server/src/main/java/com/vaadin/ui/Grid.java
@@ -2894,6 +2894,14 @@ public class Grid<T> extends AbstractListing<T> implements HasComponents,
getFooter().removeColumn(columnId);
getState(true).columnOrder.remove(columnId);
+ // Remove column from sorted columns.
+ List<GridSortOrder<T>> filteredSortOrder = sortOrder.stream()
+ .filter(order -> !order.getSorted().equals(column))
+ .collect(Collectors.toList());
+ if (filteredSortOrder.size() < sortOrder.size()) {
+ setSortOrder(filteredSortOrder);
+ }
+
if (displayIndex < getFrozenColumnCount()) {
setFrozenColumnCount(getFrozenColumnCount() - 1);
}