From d824efe59a71e2eb3e554873a32d92ca5d34cc5e Mon Sep 17 00:00:00 2001 From: Tarek Oraby <42799254+tarekoraby@users.noreply.github.com> Date: Thu, 18 Jun 2020 08:41:19 +0300 Subject: Fix rendering of TreeGrid's frozen columns after hierarchy-column reset (#12028) * Add tests * Fix getVisibleFrozenColumnCount() if SelectionMode is multi --- client/src/main/java/com/vaadin/client/widgets/Grid.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'client/src') diff --git a/client/src/main/java/com/vaadin/client/widgets/Grid.java b/client/src/main/java/com/vaadin/client/widgets/Grid.java index 2faddaf68d..9f36864bc8 100755 --- a/client/src/main/java/com/vaadin/client/widgets/Grid.java +++ b/client/src/main/java/com/vaadin/client/widgets/Grid.java @@ -7416,7 +7416,15 @@ public class Grid extends ResizeComposite implements HasSelectionHandlers, // for the escalator the hidden columns are not in the frozen column // count, but for grid they are. thus need to convert the index - for (int i = 0; i < frozenColumnCount; i++) { + int limit = getFrozenColumnCount(); + if (getSelectionColumn().isPresent()) { + // If the grid is in MultiSelect mode, getColumn(0) in the following + // for loop returns the selection column. Accordingly, verifying + // which frozen columns are visible if the selection column is + // present should take this fact into account. + limit++; + } + for (int i = 0; i < limit; i++) { if (i >= getColumnCount() || getColumn(i).isHidden()) { numberOfColumns--; } -- cgit v1.2.3