]> source.dussan.org Git - vaadin-framework.git/commitdiff
Add setHierarchyColumn(column) overload to TreeGrid
authorAleksi Hietanen <aleksi@vaadin.com>
Thu, 11 May 2017 05:50:49 +0000 (08:50 +0300)
committerHenri Sara <henri.sara@gmail.com>
Tue, 16 May 2017 12:35:17 +0000 (15:35 +0300)
server/src/main/java/com/vaadin/ui/TreeGrid.java

index 1b051d1da6a5787fcc13078cfecf2cdef56551da..a6b0fecce5e30c65aaaa46ead90b3b864f71bf28 100644 (file)
@@ -136,6 +136,30 @@ public class TreeGrid<T> extends Grid<T>
         super.setDataProvider(dataProvider);
     }
 
+    /**
+     * Set the column that displays the hierarchy of this grid's data. By
+     * default the hierarchy will be displayed in the first column.
+     * <p>
+     * Setting a hierarchy column by calling this method also sets the column to
+     * be visible and not hidable.
+     * <p>
+     * <strong>Note:</strong> Changing the Renderer of the hierarchy column is
+     * not supported.
+     *
+     * @param column
+     *            the column to use for displaying hierarchy
+     */
+    public void setHierarchyColumn(Column<T, ?> column) {
+        Objects.requireNonNull(column, "column may not be null");
+        if (!getColumns().contains(column)) {
+            throw new IllegalArgumentException(
+                    "Given column is not a column of this TreeGrid");
+        }
+        column.setHidden(false);
+        column.setHidable(false);
+        getState().hierarchyColumnId = getInternalIdForColumn(column);
+    }
+
     /**
      * Set the column that displays the hierarchy of this grid's data. By
      * default the hierarchy will be displayed in the first column.