]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix Grid frozen column declarative support (#16596)
authorTeemu Suo-Anttila <teemusa@vaadin.com>
Thu, 16 Apr 2015 13:46:24 +0000 (16:46 +0300)
committerTeemu Suo-Anttila <teemusa@vaadin.com>
Thu, 16 Apr 2015 13:46:24 +0000 (16:46 +0300)
Change-Id: I382e52e9eed1e2846036e23d9a6b95859ad3e5dc

server/src/com/vaadin/ui/Grid.java
server/tests/src/com/vaadin/tests/server/component/grid/declarative/GridDeclarativeAttributeTest.java

index 4fda7f728897642a45b8fd3ae463eb63499c88d2..a2487411c22697a41baa4941508f2a6752dec32c 100644 (file)
@@ -5427,10 +5427,6 @@ public class Grid extends AbstractComponent implements SelectionNotifier,
             setEditorEnabled(DesignAttributeHandler.readAttribute("editable",
                     attrs, boolean.class));
         }
-        if (attrs.hasKey("frozen-columns")) {
-            setFrozenColumnCount(DesignAttributeHandler.readAttribute(
-                    "frozen-columns", attrs, int.class));
-        }
         if (attrs.hasKey("rows")) {
             setHeightByRows(DesignAttributeHandler.readAttribute("rows", attrs,
                     double.class));
@@ -5487,6 +5483,12 @@ public class Grid extends AbstractComponent implements SelectionNotifier,
                 }
             }
         }
+
+        // Read frozen columns after columns are read.
+        if (attrs.hasKey("frozen-columns")) {
+            setFrozenColumnCount(DesignAttributeHandler.readAttribute(
+                    "frozen-columns", attrs, int.class));
+        }
     }
 
     @Override
index e17f3ee0bee60023be6c1fca205a3a11e3690fc9..b8268b1ae300c072f24f665db2285adc7f75c50f 100644 (file)
@@ -52,6 +52,20 @@ public class GridDeclarativeAttributeTest extends DeclarativeTestBase<Grid> {
         testWrite(design, grid);
     }
 
+    @Test
+    public void testFrozenColumnsAttributes() {
+        String design = "<v-grid frozen-columns='2'><table>" //
+                + "<colgroup><col><col><col></colgroup></table></v-grid>";
+
+        Grid grid = new Grid();
+        grid.addColumn("property-0", String.class);
+        grid.addColumn("property-1", String.class);
+        grid.addColumn("property-2", String.class);
+        grid.setFrozenColumnCount(2);
+
+        testRead(design, grid);
+    }
+
     @Test
     public void testSelectionMode() {
         String design = "<v-grid selection-mode='none'>";