From 84533057435a99b0d0dfa9ea791de81921c1e260 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 2 Jun 2015 01:21:46 +0300 Subject: Render initially hidden columns correctly (#18030) Change-Id: I2d21daac01fc8c61290997bf37b4109a07676135 --- client/src/com/vaadin/client/widgets/Grid.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'client/src') diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 67220b6e07..1837f4c951 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -5384,8 +5384,17 @@ public class Grid extends ResizeComposite implements // Register this grid instance with the column ((Column) column).setGrid(this); - // Add to escalator - escalator.getColumnConfiguration().insertColumns(index, 1); + // Grid knows about hidden columns, Escalator only knows about what is + // visible so column indexes do not match + if (!column.isHidden()) { + int escalatorIndex = index; + for (int existingColumn = 0; existingColumn < index; existingColumn++) { + if (getColumn(existingColumn).isHidden()) { + escalatorIndex--; + } + } + escalator.getColumnConfiguration().insertColumns(escalatorIndex, 1); + } // Reapply column width column.reapplyWidth(); -- cgit v1.2.3