Freeze Rows and Columns"

From Documentation
m (correct highlight (via JWB))
 
Line 10: Line 10:
  
 
===ZUML===
 
===ZUML===
<source lang="xml" high="4,12,14,15,16,21,23,24,25">
+
<source lang="xml" highlight="4,12,14,15,16,21,23,24,25">
 
<zk>
 
<zk>
 
<div height="100%" width="100%" apply="demo.FreezeComposer">
 
<div height="100%" width="100%" apply="demo.FreezeComposer">
Line 45: Line 45:
 
===Composer===
 
===Composer===
 
====Open Cell Menu====
 
====Open Cell Menu====
<source lang="java" high="4">
+
<source lang="java" highlight="4">
 
Spreadsheet spreadsheet;
 
Spreadsheet spreadsheet;
 
Menupopup cellMenu;
 
Menupopup cellMenu;
Line 55: Line 55:
 
[[File:ZKSsEss_Spreadsheet_FreeHeader_Row.png]]
 
[[File:ZKSsEss_Spreadsheet_FreeHeader_Row.png]]
 
====Freeze Row / Column====
 
====Freeze Row / Column====
<source lang="java" high="3,8">
+
<source lang="java" highlight="3,8">
 
public void onFreezeRow(ForwardEvent event) {
 
public void onFreezeRow(ForwardEvent event) {
 
int row = Integer.parseInt((String)event.getData());
 
int row = Integer.parseInt((String)event.getData());
Line 70: Line 70:
  
 
====Unfreeze Row /Column====
 
====Unfreeze Row /Column====
<source lang="java" high="3,8">
+
<source lang="java" highlight="3,8">
 
Menuitem unfreezeRows;
 
Menuitem unfreezeRows;
 
public void onClick$unfreezeRows() {
 
public void onClick$unfreezeRows() {

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 can freeze row or column using Spreadsheet.setRowfreeze(Integer) or Spreadsheet.setColumnfreeze(Integer).

ZUML

<zk>
	<div height="100%" width="100%" apply="demo.FreezeComposer">
		<div height="3px"></div>
		<spreadsheet id="spreadsheet" src="/demo_sample.xls"	
			maxrows="200" 
			maxcolumns="40"
			width="100%"
			height="450px"></spreadsheet>
		<menupopup id="cellMenu">
			<menu label="Freeze Row">
				<menupopup>
					<menuitem id="unfreezeRows" label="Unfreeze all rows" />
					<menuseparator />
					<menuitem label="Freeze Row 1" forward="onFreezeRow(0)"/>
					<menuitem label="Freeze Row 2" forward="onFreezeRow(1)"/>
					<menuitem label="Freeze Row 3" forward="onFreezeRow(2)"/>
				</menupopup>
			</menu>
			<menu label="Freeze Col">
				<menupopup>
					<menuitem id="unfreezeCols" label="Unfreeze all cols" />
					<menuseparator />
					<menuitem label="Freeze Col 1" forward="onFreezeCol(0)"/>
					<menuitem label="Freeze Col 2" forward="onFreezeCol(1)"/>
					<menuitem label="Freeze Col 3" forward="onFreezeCol(2)"/>
				</menupopup>
			</menu>
		</menupopup>
	</div>
</zk>

Composer

Open Cell Menu

Spreadsheet spreadsheet;
Menupopup cellMenu;
public void onCellRightClick$spreadsheet(CellMouseEvent event) {
	cellMenu.open(event.getPageX(), event.getPageY());
}

ZKSsEss Spreadsheet FreeHeader Row.png

Freeze Row / Column

public void onFreezeRow(ForwardEvent event) {
	int row = Integer.parseInt((String)event.getData());
	spreadsheet.setRowfreeze(row);
}
	
public void onFreezeCol(ForwardEvent event) {
	int col = Integer.parseInt((String)event.getData());
	spreadsheet.setColumnfreeze(col);
}

ZKSsEss Spreadsheet FreezeHeader Result.png

Unfreeze Row /Column

Menuitem unfreezeRows;
public void onClick$unfreezeRows() {
	spreadsheet.setRowfreeze(-1);
}
	
Menuitem unfreezeCols;
public void onClick$unfreezeCols() {
	spreadsheet.setColumnfreeze(-1);
}

ZKSsEss Spreadsheet FreezeHeader Unfreeze.png

Unfreeze result
ZKSsEss Spreadsheet FreezeHeader UnfreezeResult.png

View complete source of ZUML freeze.zul

View complete source of composer FreezeComposer.java

Version History

Last Update : 2022/01/19


Version Date Content
     


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.