Merge Cells or Split Merged Cells"

From Documentation
m (correct highlight (via JWB))
 
Line 15: Line 15:
  
 
===ZUML===
 
===ZUML===
<source lang="xml" high="4,5">
+
<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" high="7">
+
<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. <tt>true<tt> to merge cells for each  row while <tt>false</tt> indicates merge cells as a whole.
+
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" high="6">
+
<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" high="6">
+
<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





Stop.png 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.
ZKSsEss Spreadsheet MergeCell.png

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();
}

ZKSsEss Spreadsheet MergeCell CellSelection.png

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);
}

ZKSsEss Spreadsheet MergeCell Merge.png

Split Merged Cells

public void onClick$splitMergedCells() {
	Ranges.range(spreadsheet.getSelectedSheet(), 
			topRow, 
			leftCol, 
			bottomRow, 
			rightCol).unMerge();
}

ZKSsEss Spreadsheet MergeCell Split CellSelection.png
ZKSsEss Spreadsheet MergeCell Split Cells.png

View the complete source of ZUML mergeCells.zul

View the complete source of composer MergeCellComposer.java

Version History

Last Update : 2022/01/19


Version Date Content
2.1.0 May, 2011 support vertical merge


All source code listed in this book is at Github.


Last Update : 2022/01/19

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.