Merge Cells or Split Merged Cells"
From Documentation
m (correct highlight (via JWB)) |
|||
(11 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ZKSpreadsheetEssentialsPageHeader}} | {{ZKSpreadsheetEssentialsPageHeader}} | ||
+ | |||
+ | |||
+ | |||
+ | {{Deprecated|url=http://books.zkoss.org/wiki/ZK_Spreadsheet_Essentials}} | ||
__TOC__ | __TOC__ | ||
Line 5: | Line 9: | ||
===Purpose=== | ===Purpose=== | ||
ZK Spreadsheet support merge cells and split merged cells. | ZK Spreadsheet support merge cells and split merged cells. | ||
+ | |||
+ | ===Merge cells=== | ||
+ | Merge cell can cross rows, also known as vertical merge. <br/> | ||
+ | [[File:ZKSsEss_Spreadsheet_MergeCell.png]]<br/> | ||
===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 25: | Line 33: | ||
===Composer=== | ===Composer=== | ||
− | ====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 41: | Line 49: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | [[File:ZKSsEss_Spreadsheet_MergeCell_CellSelection.png]]<br/> | ||
====Merge Cells==== | ====Merge Cells==== | ||
− | Use <javadoc directory="zss" method="merge(java.lang.Boolean)">org.zkoss.zss.model.Range</javadoc>to 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. <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 54: | Line 64: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | [[File:ZKSsEss_Spreadsheet_MergeCell_Merge.png]]<br/> | ||
====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(), | ||
Line 66: | Line 78: | ||
</source> | </source> | ||
− | View complete source of ZUML [https://code.google.com/p/zkbooks/source/browse/trunk/zssessentials/examples/WebContent/config/mergeCells.zul mergeCells.zul] | + | [[File:ZKSsEss_Spreadsheet_MergeCell_Split_CellSelection.png]]<br/> |
+ | [[File:ZKSsEss_Spreadsheet_MergeCell_Split_Cells.png]]<br/> | ||
+ | |||
+ | View the complete source of ZUML [https://code.google.com/p/zkbooks/source/browse/trunk/zssessentials/examples/WebContent/config/mergeCells.zul mergeCells.zul] | ||
− | View complete source of composer [https://code.google.com/p/zkbooks/source/browse/trunk/zssessentials/examples/src/org/zkoss/zssessentials/config/MergeCellComposer.java MergeCellComposer.java] | + | View the complete source of composer [https://code.google.com/p/zkbooks/source/browse/trunk/zssessentials/examples/src/org/zkoss/zssessentials/config/MergeCellComposer.java MergeCellComposer.java] |
=Version History= | =Version History= | ||
Line 75: | Line 90: | ||
! Version !! Date !! Content | ! Version !! Date !! Content | ||
|- | |- | ||
− | | | + | | 2.1.0 |
− | | | + | | May, 2011 |
− | | | + | | support vertical merge |
|} | |} | ||
{{ZKSpreadsheetEssentialsPageFooter}} | {{ZKSpreadsheetEssentialsPageFooter}} |
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.