Delete Range"

From Documentation
m (Created page with '{{ZKSpreadsheetEssentialsPageHeader}} __TOC__ ZK Spreadsheet can use Range.delete to delete row or column. ==Scenario== User right click to open a menu and delete row or colum…')
 
m
Line 43: Line 43:
 
}
 
}
 
</source>
 
</source>
 +
 +
[[File:ZKSsEss_Spreadsheet_DeleteRange_Menu.png]]
  
 
===Shift cells left===
 
===Shift cells left===
Line 51: Line 53:
 
}
 
}
 
</source>
 
</source>
 +
 +
[[File:ZKSsEss_Spreadsheet_InsertRange_ShiftLeft.png]]
  
 
===Shift cells up===
 
===Shift cells up===
Line 59: Line 63:
 
}
 
}
 
</source>
 
</source>
 +
 +
[[File:ZKSsEss_Spreadsheet_InsertRange_ShiftUp.png]]
 +
 +
===Delete entire row===
 +
<source lang="java" high="5">
 +
public void onClick$deleteEntireRow() {
 +
Row row = currentSheet.getRow(rowIndex);
 +
int lCol = row.getFirstCellNum();
 +
int rCol  = row.getLastCellNum();
 +
Ranges.range(currentSheet, rowIndex, lCol, rowIndex, rCol).delete(Range.SHIFT_UP);
 +
}
 +
</source>
 +
 +
[[File:ZKSsEss_Spreadsheet_InsertRange_Row.png]]
 +
 +
===Delete entire column===
 +
<source lang="java" high="5">
 +
public void onClick$deleteEntireColumn() {
 +
int tRow = currentSheet.getFirstRowNum();
 +
int bRow = currentSheet.getPhysicalNumberOfRows();
 +
Ranges.range(currentSheet, tRow, colIndex, bRow, colIndex).delete(Range.SHIFT_LEFT);
 +
}
 +
</source>
 +
 +
[[File:ZKSsEss_Spreadsheet_InsertRange_Column.png]]
  
 
=Version History=
 
=Version History=

Revision as of 01:52, 22 November 2010


ZK Spreadsheet can use Range.delete to delete row or column.

Scenario

User right click to open a menu and delete row or column.

ZUML Example

<zk>
<div height="100%" width="100%" apply="demo.DeleteRangeComposer">
	<div height="3px"></div>
	<menupopup id="cellMenupopup">
		<menuitem id="shiftCellLeft" label="Shift cells left"></menuitem>
		<menuitem id="shiftCellUp" label="Shift cells up"/>
		<menuitem id="deleteEntireRow" label="Entire row" />
		<menuitem id="deleteEntireColumn" label="Entire column" />
	</menupopup>
	<spreadsheet id="spreadsheet" src="/demo_sample.xls"	
			maxrows="200" 
			maxcolumns="40"
			width="100%"
			height="450px"></spreadsheet>
</div>
</zk>

Open menu

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

int rowIndex;
int colIndex;
Sheet 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());
}

ZKSsEss Spreadsheet DeleteRange Menu.png

Shift cells left

public void onClick$shiftCellLeft() {
	Range rng = Ranges.range(currentSheet, rowIndex, colIndex);
	rng.delete(Range.SHIFT_LEFT);
}

File:ZKSsEss Spreadsheet InsertRange ShiftLeft.png

Shift cells up

public void onClick$shiftCellUp() {
	final Range rng = Ranges.range(currentSheet, rowIndex, colIndex);
	rng.delete(Range.SHIFT_UP);
}

File:ZKSsEss Spreadsheet InsertRange ShiftUp.png

Delete entire row

public void onClick$deleteEntireRow() {
	Row row = currentSheet.getRow(rowIndex);
	int lCol = row.getFirstCellNum();
	int rCol  = row.getLastCellNum();
	Ranges.range(currentSheet, rowIndex, lCol, rowIndex, rCol).delete(Range.SHIFT_UP);
}

ZKSsEss Spreadsheet InsertRange Row.png

Delete entire column

public void onClick$deleteEntireColumn() {
	int tRow = currentSheet.getFirstRowNum();
	int bRow = currentSheet.getPhysicalNumberOfRows();
	Ranges.range(currentSheet, tRow, colIndex, bRow, colIndex).delete(Range.SHIFT_LEFT);
}

ZKSsEss Spreadsheet InsertRange Column.png

Version History

Last Update : 2010/11/22


Version Date Content
     


All source code listed in this book is at Github.


Last Update : 2010/11/22

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