WICKET-6095 Multiline headers in DataTable
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ed7c9976 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ed7c9976 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ed7c9976 Branch: refs/heads/lambdas Commit: ed7c99768ab5764a76d77a1282d28b2f048fd1b8 Parents: 4904e4c Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Feb 18 21:46:44 2016 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Thu Feb 18 21:46:44 2016 +0100 ---------------------------------------------------------------------- .../html/repeater/data/table/HeadersToolbar.java | 11 ++++++++++- .../markup/html/repeater/data/table/IColumn.java | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/ed7c9976/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/HeadersToolbar.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/HeadersToolbar.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/HeadersToolbar.java index 998a9a8..153b5bf 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/HeadersToolbar.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/HeadersToolbar.java @@ -20,6 +20,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import org.apache.wicket.AttributeModifier; import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator; import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder; import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable.CssAttributeBehavior; @@ -81,7 +82,7 @@ public class HeadersToolbar<S> extends AbstractToolbar { final IColumn<T, S> column = item.getModelObject(); - WebMarkupContainer header = null; + WebMarkupContainer header; if (column.isSortable()) { @@ -108,6 +109,14 @@ public class HeadersToolbar<S> extends AbstractToolbar header.add(cssAttributeBehavior); } + if (column.getColspan() > 1) { + header.add(AttributeModifier.replace("colspan", column.getColspan())); + } + + if (column.getRowspan() > 1) { + header.add(AttributeModifier.replace("rowspan", column.getRowspan())); + } + item.add(header); item.setRenderBodyOnly(true); header.add(column.getHeader("label")); http://git-wip-us.apache.org/repos/asf/wicket/blob/ed7c9976/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java index 0a257bc..7f3314d 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java @@ -57,4 +57,18 @@ public interface IColumn<T, S> extends ICellPopulator<T> * @return true if header should be sortable */ boolean isSortable(); + + /** + * @return The number of rows the header of this column should span + */ + default int getRowspan() { + return 1; + } + + /** + * @return The number of columns the header of this column should span + */ + default int getColspan() { + return 1; + } }
