Insert Range"
From Documentation
m (correct highlight (via JWB)) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ZKSpreadsheetEssentialsPageHeader}} | {{ZKSpreadsheetEssentialsPageHeader}} | ||
+ | |||
+ | |||
+ | {{Deprecated|url=http://books.zkoss.org/wiki/ZK_Spreadsheet_Essentials}} | ||
+ | |||
+ | |||
__TOC__ | __TOC__ | ||
Line 7: | Line 12: | ||
===ZUML=== | ===ZUML=== | ||
− | <source lang="xml" | + | <source lang="xml" highlight="4,10"> |
<zk> | <zk> | ||
<div height="100%" width="100%" apply="demo.InsertRangeComposer"> | <div height="100%" width="100%" apply="demo.InsertRangeComposer"> | ||
Line 29: | Line 34: | ||
====Open menu==== | ====Open menu==== | ||
We can use onCellRightClick to get the current mouse position and open popup. | We can use onCellRightClick to get the current mouse position and open popup. | ||
− | <source lang="java" | + | <source lang="java" highlight="7,8,9,10"> |
int rowIndex; | int rowIndex; | ||
int colIndex; | int colIndex; | ||
Line 46: | Line 51: | ||
====Shift cells right==== | ====Shift cells right==== | ||
− | <source lang="java" | + | <source lang="java" highlight="4"> |
Menuitem shiftCellRight; | Menuitem shiftCellRight; | ||
public void onClick$shiftCellRight() { | public void onClick$shiftCellRight() { | ||
Line 57: | Line 62: | ||
====Shift cells down==== | ====Shift cells down==== | ||
− | <source lang="java" | + | <source lang="java" highlight="3"> |
public void onClick$shiftCellDown() { | public void onClick$shiftCellDown() { | ||
final Range rng = Ranges.range(currentSheet, rowIndex, colIndex); | final Range rng = Ranges.range(currentSheet, rowIndex, colIndex); | ||
Line 67: | Line 72: | ||
====Insert entire row==== | ====Insert entire row==== | ||
− | <source lang="java" | + | <source lang="java" highlight="7"> |
public void onClick$insertEntireRow() { | public void onClick$insertEntireRow() { | ||
Row row = currentSheet.getRow(rowIndex); | Row row = currentSheet.getRow(rowIndex); | ||
Line 79: | Line 84: | ||
====Insert entire column==== | ====Insert entire column==== | ||
− | <source lang="java" | + | <source lang="java" highlight="6"> |
public void onClick$insertEntireColumn() { | public void onClick$insertEntireColumn() { | ||
int tRow = currentSheet.getFirstRowNum(); | int tRow = currentSheet.getFirstRowNum(); |
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 uses Range.insert (Integer, Integer) to insert cell, row or column.
ZUML
<zk>
<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" />
</menupopup>
<spreadsheet id="spreadsheet" src="/demo_sample.xls"
maxrows="200"
maxcolumns="40"
width="100%"
height="450px"></spreadsheet>
</div>
</zk>
Composer
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();
cellMenupopup.open(event.getPageX(), event.getPageY());
}
Shift cells right
Menuitem shiftCellRight;
public void onClick$shiftCellRight() {
Range rng = Ranges.range(currentSheet, rowIndex, colIndex);
rng.insert(Range.SHIFT_RIGHT, Range.FORMAT_RIGHTBELOW);
}
Shift cells down
public void onClick$shiftCellDown() {
final Range rng = Ranges.range(currentSheet, rowIndex, colIndex);
rng.insert(Range.SHIFT_DOWN, Range.FORMAT_LEFTABOVE);
}
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);
}
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);
}
View the complete source of ZUML insertRange.zul
View the complete source of composer InsertRangeComposer.java
Version History
Version | Date | Content |
---|---|---|
All source code listed in this book is at Github.