Merge Cells or Split Merged Cells"
From Documentation
m (correct highlight (via JWB)) |
|||
Line 15: | Line 15: | ||
===ZUML=== | ===ZUML=== | ||
− | <source lang="xml" | + | <source lang="xml" highlight="4,5"> |
<zk> | <zk> | ||
<div height="100%" width="100%" apply="org.zkoss.zssessentials.config.MergeCellComposer"> | <div height="100%" width="100%" apply="org.zkoss.zssessentials.config.MergeCellComposer"> | ||
Line 35: | Line 35: | ||
====Range to merge or split==== | ====Range to merge or split==== | ||
Use CellSelectionEvent to get current range. | Use CellSelectionEvent to get current range. | ||
− | <source lang="java" | + | <source lang="java" highlight="7"> |
Spreadsheet spreadsheet; | Spreadsheet spreadsheet; | ||
int topRow; | int topRow; | ||
Line 53: | Line 53: | ||
====Merge Cells==== | ====Merge Cells==== | ||
− | Use <javadoc directory="zss" method="merge(java.lang.Boolean)">org.zkoss.zss.model.Range</javadoc>to merge cells. The boolean argument indicates whether to merge cells for each individual rows. < | + | Use <javadoc directory="zss" method="merge(java.lang.Boolean)">org.zkoss.zss.model.Range</javadoc>to merge cells. The boolean argument indicates whether to merge cells for each individual rows. <code>true<code> to merge cells for each row while <code>false</code> indicates merge cells as a whole. |
− | <source lang="java" | + | <source lang="java" highlight="6"> |
public void onClick$mergeCells() { | public void onClick$mergeCells() { | ||
Ranges.range(spreadsheet.getSelectedSheet(), | Ranges.range(spreadsheet.getSelectedSheet(), | ||
Line 68: | Line 68: | ||
====Split Merged Cells==== | ====Split Merged Cells==== | ||
− | <source lang="java" | + | <source lang="java" highlight="6"> |
public void onClick$splitMergedCells() { | public void onClick$splitMergedCells() { | ||
Ranges.range(spreadsheet.getSelectedSheet(), | Ranges.range(spreadsheet.getSelectedSheet(), |
Latest revision as of 12:55, 19 January 2022
This article is out of date, please refer to http://books.zkoss.org/wiki/ZK_Spreadsheet_Essentials for more up to date information.
Purpose
ZK Spreadsheet support merge cells and split merged cells.
Merge cells
Merge cell can cross rows, also known as vertical merge.
ZUML
<zk>
<div height="100%" width="100%" apply="org.zkoss.zssessentials.config.MergeCellComposer">
<div>
<button id="mergeCells" label="Merge Cells" mold="trendy"></button>
<button id="splitMergedCells" label="Split Merged Cells" mold="trendy"></button>
</div>
<spreadsheet id="spreadsheet" src="/WEB-INF/excel/config/merge.xlsx"
maxrows="200"
maxcolumns="40"
width="100%"
height="450px"></spreadsheet>
</div>
</zk>
Composer
Range to merge or split
Use CellSelectionEvent to get current range.
Spreadsheet spreadsheet;
int topRow;
int bottomRow;
int leftCol;
int rightCol;
public void onCellSelection$spreadsheet(CellSelectionEvent event) {
topRow = event.getTop();
bottomRow = event.getBottom();
leftCol = event.getLeft();
rightCol = event.getRight();
}
Merge Cells
Use Range.merge(Boolean)to merge cells. The boolean argument indicates whether to merge cells for each individual rows. true
to merge cells for each row while
false
indicates merge cells as a whole.
public void onClick$mergeCells() {
Ranges.range(spreadsheet.getSelectedSheet(),
topRow,
leftCol,
bottomRow,
rightCol).merge(false);
}
Split Merged Cells
public void onClick$splitMergedCells() {
Ranges.range(spreadsheet.getSelectedSheet(),
topRow,
leftCol,
bottomRow,
rightCol).unMerge();
}
View the complete source of ZUML mergeCells.zul
View the complete source of composer MergeCellComposer.java
Version History
Version
Date
Content
2.1.0
May, 2011
support vertical merge
All source code listed in this book is at Github.