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