Insert Range

From Documentation
Revision as of 12:55, 19 January 2022 by Hawk (talk | contribs) (correct highlight (via JWB))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Stop.png This article is out of date, please refer to for more up to date information.


ZK Spreadsheet uses Range.insert (Integer, Integer) to insert cell, row or column.


<div height="100%" width="100%" apply="demo.InsertRangeComposer">
	<div height="3px"></div>
	<menupopup id="cellMenupopup">
		<menuitem id="shiftCellRight" label="Shift cells right"></menuitem>
		<menuitem id="shiftCellDown" label="Shift cells down"/>
		<menuitem id="insertEntireRow" label="Entire row" />
		<menuitem id="insertEntireColumn" label="Entire column" />
	<spreadsheet id="spreadsheet" src="/demo_sample.xls"	


Open menu

We can use onCellRightClick to get the current mouse position and open popup.

int rowIndex;
int colIndex;
Worksheet currentSheet;
Spreadsheet spreadsheet;
Menupopup cellMenupopup;
public void onCellRightClick$spreadsheet(CellMouseEvent event) {
	rowIndex = event.getRow();
	colIndex = event.getColumn();
	currentSheet = event.getSheet();, event.getPageY());

ZKSsEss Spreadsheet InsertRange Menu.png

Shift cells right

Menuitem shiftCellRight;
public void onClick$shiftCellRight() {
	Range rng = Ranges.range(currentSheet, rowIndex, colIndex);
	rng.insert(Range.SHIFT_RIGHT, Range.FORMAT_RIGHTBELOW);

ZKSsEss Spreadsheet InsertRange ShiftRight.png

Shift cells down

public void onClick$shiftCellDown() {
	final Range rng = Ranges.range(currentSheet, rowIndex, colIndex);
	rng.insert(Range.SHIFT_DOWN, Range.FORMAT_LEFTABOVE);

ZKSsEss Spreadsheet InsertRange ShiftDown.png

Insert entire row

public void onClick$insertEntireRow() {
	Row row = currentSheet.getRow(rowIndex);
	int lCol = row.getFirstCellNum();
	int rCol  = row.getLastCellNum();
	Ranges.range(currentSheet, rowIndex, lCol, rowIndex, rCol).insert(Range.SHIFT_DOWN, Range.FORMAT_LEFTABOVE);

ZKSsEss Spreadsheet InsertRange Row.png

Insert entire column

public void onClick$insertEntireColumn() {
	int tRow = currentSheet.getFirstRowNum();
	int bRow = currentSheet.getPhysicalNumberOfRows();
	Ranges.range(currentSheet, tRow, colIndex, bRow, colIndex).insert(Range.SHIFT_RIGHT, Range.FORMAT_RIGHTBELOW);

ZKSsEss Spreadsheet InsertRange Column.png

View the complete source of ZUML insertRange.zul

View the complete source of composer

Version History

Last Update : 2022/01/19

Version Date Content

All source code listed in this book is at Github.

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