Toolbar"

From Documentation
m
m
Line 79: Line 79:
 
<br/>The default ActionHandler does nothing when user click the button, developer could override <javadoc directory="zss"  method="doExportPDF">org.zkoss.zss.ui.sys.ActionHandler</javadoc>
 
<br/>The default ActionHandler does nothing when user click the button, developer could override <javadoc directory="zss"  method="doExportPDF">org.zkoss.zss.ui.sys.ActionHandler</javadoc>
  
<source lang="java" high="2,3">
+
<source lang="java" high="2">
 
@Override
 
@Override
 
public void doExportPDF(Rect selection) {
 
public void doExportPDF(Rect selection) {
Line 96: Line 96:
 
<br/> The default ActionHandler does nothing when user click the button, developer could override <javadoc directory="zss"  method="doPasteSpecial">org.zkoss.zss.ui.sys.ActionHandler</javadoc>
 
<br/> The default ActionHandler does nothing when user click the button, developer could override <javadoc directory="zss"  method="doPasteSpecial">org.zkoss.zss.ui.sys.ActionHandler</javadoc>
  
<source lang="java" high="2,3">
+
<source lang="java" high="2">
 
@Override
 
@Override
 
public void doPasteSpecial(Rect selection) {
 
public void doPasteSpecial(Rect selection) {
Line 112: Line 112:
 
<br/> The default ActionHandler does nothing when user click the button, developer could override <javadoc directory="zss"  method="doCustomSort">org.zkoss.zss.ui.sys.ActionHandler</javadoc>
 
<br/> The default ActionHandler does nothing when user click the button, developer could override <javadoc directory="zss"  method="doCustomSort">org.zkoss.zss.ui.sys.ActionHandler</javadoc>
  
<source lang="java" high="2,3">
+
<source lang="java" high="2">
 
@Override
 
@Override
 
public void doCustomSort(Rect selection) {
 
public void doCustomSort(Rect selection) {

Revision as of 10:32, 3 April 2012

WarningTriangle-32x32.png This page is under construction, so we cannot guarantee the accuracy of the content!



Purpose

ZK Spreadsheet supports various toolbar buttons for user to perform actions.

Show toolbar

Use Spreadsheet.setShowToolbar to show toolbar.

Action Handler

The Spreadsheet use a default ActionHandler to perform toolbar button's action. Developer could use customized ActionHandler by API Spreadsheet.setActionHandler or by library property org.zkoss.zss.ui.ActionHandler.class, refer to sample zk.xml

Each toolbar's button represent a action, the ActionHandler process action when user click it.


For example, the paste toolbarbutton and menuitem represent Action.PASTE, deveoper could override default behavior by override ActionHandler.doPaste
ZKSsEss Spreadsheet Toolbar paste.png

New Book

ZKSsEss Spreadsheet Toolbar newBook.png
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doNewBook

	@Override
	public void doNewBook() {
		_spreadsheet.setSrc("/WEB-INF/excel/config/blank.xlsx");
	}

Refer to sample code CustomizedActionHandler.java

Save Book

ZKSsEss Spreadsheet Toolbar saveBook.png
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doSaveBook

	@Override
	public void doSaveBook() {
		Spreadsheet spreadsheet = getSpreadsheet();
		if (spreadsheet.getBook() != null) {
			final String filePath = Executions.getCurrent().getDesktop().getWebApp().getRealPath(spreadsheet.getSrc());
			
			Exporter exporter = Exporters.getExporter("excel");
			FileOutputStream outputStream = null;
			try {
				outputStream = new FileOutputStream(new File(filePath));
				exporter.export(spreadsheet.getBook(), outputStream);
				try {
					Messagebox.show("Saved");
				} catch (InterruptedException e) {
				}
			} catch (FileNotFoundException e) {
				try {
					Messagebox.show("Save excel failed");
				} catch (InterruptedException e1) {
				}
			} finally {
				if (outputStream != null) {
					try {
						outputStream.close();
					} catch (IOException e) {
					}
				}
			}
		}			
	}

Refer to sample code CustomizedActionHandler.java

Export PDF

ZKSsEss Spreadsheet Toolbar exportPDF.png
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doExportPDF

	@Override
	public void doExportPDF(Rect selection) {
		Spreadsheet spreadsheet = getSpreadsheet();
		if (spreadsheet.getBook() != null && validSelection(selection)) {
			ExportPDFDialog dialog = new ExportPDFDialog(selection);
                        //omit
		}
	}

Refer to Export to PDF and sample code CustomizedActionHandler.java

Paste Special

ZKSsEss Spreadsheet Toolbar pasteSpecial.png
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doPasteSpecial

	@Override
	public void doPasteSpecial(Rect selection) {
		if (getClipboard() != null && _spreadsheet.getBook() != null && validSelection(selection)) {
			PasteSpecialDialog dialog = new PasteSpecialDialog(selection);
			//omit
		}
	}

Refer to sample code pasteSpecialDialog.zul and CustomizedActionHandler.java

Custom Sort

ZKSsEss Spreadsheet Toolbar customSort.png
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doCustomSort

	@Override
	public void doCustomSort(Rect selection) {
		CustomSortDialog dialog = new CustomSortDialog(selection);
		//omit
	}

Refer to sample code customSortDialog.zul and CustomizedActionHandler.java

ZUML

Here is a sample example ZUL file

<zk>
	<window vflex="1" width="100%" apply="org.zkoss.zssessentials.config.ToolbarComposer">
		<button id="toggleToolbar" label="Toggle toolbar"/>
		<spreadsheet showToolbar="true"
			id="ss" vflex="true" width="100%"
			src="/WEB-INF/excel/config/ZSS-demo_sample.xlsx" maxcolumns="40" maxrows="200"
			></spreadsheet>
	</window>
</zk>